visual studio 2010条件参考

np-*_*ard 26 c# tfs visual-studio-2010 visual-studio

我们这里有多个产品共享一些公共库.这些库是单独解决方案的一部分(因此它们可以由TFS独立构建),但问题是在开发期间,必须修改公共库,将其编译为二进制文件,将其复制到公共位置,编译产品解决方案.

为了避免这种情况,我实际上想知道它是否可能有条件引用,因此对于调试配置,我会将它们作为项目引用引用,而在发布配置中它们将是二进制引用.

Mat*_*att 39

您应该可以通过直接编辑项目文件来使用条件结构(VS IDE不会为您执行此操作).

例如,您可以使用"Choose"元素执行类似的操作:

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" >
    <PropertyGroup>
        <!-- ... --> 
    </PropertyGroup>
    <Choose>

        <When Condition=" '$(Configuration)'=='Debug' ">
            <ItemGroup>
                <ProjectReference Include="..\stuff\MyStuff.csproj">
                    <Project>{4c7bbe47-8d84-45d4-95f0-f640ba59563c}</Project>
                    <Name>MyStuff</Name>
                </ProjectReference>
            </ItemGroup>
        </When>

        <When Condition=" '$(Configuration)'=='Retail' ">
            <ItemGroup>
                <Reference Include="MyStuff.dll" />
            </ItemGroup>
        </When>

    </Choose>
    <!-- Rest of Project -->
</Project>
Run Code Online (Sandbox Code Playgroud)

MSDN有关于使用条件结构的更多信息.