visual studio 2010条件参考

时间:2011-06-29 15:15:23

标签: c# visual-studio-2010 visual-studio tfs

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

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

2 个答案:

答案 0 :(得分:39)

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

例如,您可以使用“选择”元素执行类似的操作:

<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>

MSDN有more information about using conditional constructs

答案 1 :(得分:4)

你可能想看看NuGet:

  

<强> NuGet

     

NuGet是面向.NET平台的免费开源开发人员软件包管理系统,旨在简化在开发期间将第三方库合并到.NET应用程序中的过程

(在这种情况下,你将成为第三方)

注意:这不会为您提供条件引用,但它可以轻松更新公共组件。