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