从Visual Studio获取隐藏在msbuild中的文件?

时间:2013-05-22 09:16:56

标签: visual-studio msbuild

可以使用“可见”元数据从Visual Studio隐藏文件,例如

<Compile Include="Hidden.cs">
  <Visible>false</Visible>
</Compile>

该文件仍构建为项目的一部分,但未在Visual Studio中显示 - 它不包含在层次结构信息中。

是否可以在Visual Studio中以编程方式获取此文件?例如。通过访问msbuild对象模型并获取所有可见元数据集的项目?

2 个答案:

答案 0 :(得分:1)

以下目标列出了隐藏文件:

<Target Name="ShowHiddenFiles">
    <Message Text="'%(Compile.FullPath)'" Condition="%(Compile.Visible) == false" />
</Target>

答案 1 :(得分:0)

我不知道是否有更好的方法从VS项目中获取msbuild对象模型,但我可以从msbuild静态属性中获取所有当前加载的项目:

Microsoft.Build.Evaluation.ProjectCollection.GlobalProjectCollection

然后我可以调用GetLoadedProjects(path)传递我想要获得的项目路径。从那里我可以询问返回的Project对象以获取项目。