繁体   English   中英

Visual Studio 2010 条件引用

[英]visual studio 2010 conditional references

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

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

您应该能够通过直接编辑项目文件来使用条件构造来执行此操作(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>

MSDN 有更多关于使用条件构造的信息。

您可能想看看 NuGet:

NuGet

NuGet is a free, open source developer focused package management system for the .NET platform intent on simplifying the process of incorporating third party libraries into a .NET application during development .

(在这种情况下,您自己将成为第三方)

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM