为什么$(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>
答案 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删除的虚拟文件文件夹下:
希望这会有所帮助。