Visual Studio 2010 Prof:解决方案资源管理器不显示Import .targets中的文件

时间:2011-03-13 09:32:23

标签: visual-studio-2010 import partial csproj solution-explorer


由于我对单个项目有很多配置,我想稍微清理一下.csproj 我将所有配置定义移动到带有Conditional ItemGroup的单个文件,并将它们导入.csproj中:

<Import Project="conf/file.targets">

一切似乎都很好,除了一件事,在解决方案资源管理器中我没有看到.targets中定义的文件,但项目编译没有任何问题。是错误还是正常行为?如何查看从.targets导入的文件? (即SomeFile和SomeFile2。)
示例test.targets:

<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'TestConfig|x86'">
    <OutputPath>bin\TestConfig\</OutputPath>
    <DefineConstants>TRACE</DefineConstants>
    <Optimize>true</Optimize>
    <DebugType>pdbonly</DebugType>
    <PlatformTarget>x86</PlatformTarget>
    <GenerateSerializationAssemblies>Off</GenerateSerializationAssemblies>
    <ErrorReport>prompt</ErrorReport>
  </PropertyGroup>

  <ItemGroup Condition=" '$(Configuration)'=='TestConfig' ">
    <Compile Include="SomeFile.cs" />
    <Compile Include="SomeFile2.cs" />
  </ItemGroup>

</Project>

在.csproj中定义时,解决方案Explroer中的所有内容都可见。

PS。我在google和stackoverflow中搜索过,但没有找到任何有用的信息。

1 个答案:

答案 0 :(得分:0)

Visual Studio对MSBuild文件的使用是MSBuild能够使用的子集。

特别是VS结构以其可以理解的方式项目文件,很可能拥有一个不是有效的VS项目文件的有效MSBuild文件。如果您想使用VS来管理项目内容,您需要坚持VS使用和理解的MSBuild子集。