可以使用“可见”元数据从 Visual Studio 中隐藏文件,例如
<Compile Include="Hidden.cs">
<Visible>false</Visible>
</Compile>
该文件仍作为项目的一部分构建,但不会显示在 Visual Studio 中 - 它不包含在层次结构信息中。
是否可以在 Visual Studio 中以编程方式获取此文件?例如,通过访问 msbuild 对象模型并获取所有带有可见元数据集的项目?
可以使用“可见”元数据从 Visual Studio 中隐藏文件,例如
<Compile Include="Hidden.cs">
<Visible>false</Visible>
</Compile>
该文件仍作为项目的一部分构建,但不会显示在 Visual Studio 中 - 它不包含在层次结构信息中。
是否可以在 Visual Studio 中以编程方式获取此文件?例如,通过访问 msbuild 对象模型并获取所有带有可见元数据集的项目?
以下目标列出了隐藏文件:
<Target Name="ShowHiddenFiles">
<Message Text="'%(Compile.FullPath)'" Condition="%(Compile.Visible) == false" />
</Target>
我不知道是否有更好的方法从 VS 项目中获取 msbuild 对象模型,但我可以从 msbuild 静态属性中获取所有当前加载的项目:
Microsoft.Build.Evaluation.ProjectCollection.GlobalProjectCollection
然后我可以调用GetLoadedProjects(path)
传递我想要获得的项目的路径。从那里我可以询问返回的Project
对象以获取项目。