VisualStudio将忽略csproj中的最后一个文件夹

时间:2018-08-22 09:57:39

标签: visual-studio msbuild visual-studio-2017

为什么$(FileName)之前的最后一个文件夹,例如显示文件时,Visual Studio会完全忽略“ MSBuild删除的虚拟对象”?

  <ItemGroup>
    <!-- Protobuf files for ReSharper -->
    <Content Include="$(SolutionDir)packages\Google.Protobuf.Tools.*\tools\google\protobuf\**\*.proto">
      <Link>google\protobuf\dummy removed by MSBuild\$(FileName)</Link>
    </Content>
  </ItemGroup>

1 个答案:

答案 0 :(得分:2)

  

为什么$(FileName)之前的最后一个文件夹,例如显示文件时,Visual Studio会完全忽略“ MSBuild删除的虚拟对象”?

大胆猜测,您想使用$(FileName)来获取那些.proto文件的文件名。

要完成此操作,您应该使用%(Content.Filename)而不是$(FileName),因此代码如下:

  <ItemGroup>
    <Content Include="$(SolutionDir)packages\Google.Protobuf.Tools.*\tools\google\protobuf\**\*.proto">
      <Link>google\protobuf\dummy removed by MSBuild\%(Content.Filename)</Link>
    </Content>
  </ItemGroup>

使用上述代码,这些.proto文件将显示在解决方案资源管理器中的 MSBuild删除的虚拟文件文件夹下:

enter image description here

希望这会有所帮助。