2013-07-15 71 views
0

我正在使用Visual Studio 2012併爲應用程序開發插件。 該應用程序根據其版本具有不同的API(我需要引用的DLL)。 我的插件的代碼適用於2012和2013版本的應用程序,但我必須使用相應版本的API。在Visual Studio中編譯具有不同引用的相同項目

因此,我是否可以在Visual Studio中編譯具有不同引用的相同項目(並將輸出結果輸出到2個不同的文件夾),還是唯一的方法來創建重複的項目並更改引用?

希望我已經清楚, 感謝

回答

0

是的,可以。 您可以在項目定義(或用於msbuild)中使用條件編譯符號,然後在需要手動編輯並添加相應信息的.csproj(或類似文件)文件中再次使用。

您還可以根據基於符號的API更改進行區分。

這是從生產代碼修改,所以有可能是一個語法錯誤,它應該是這個樣子:

</ItemGroup> 
<Choose> 
    <When Condition="$(DefineConstants.Contains('__NEW_DLL_HANDLING_1__')) And !$(DefineConstants.Contains('__NEW_DLL_HANDLING_2__'))"> 
    <ItemGroup> 
     <Reference Include="mydll, Version=2.0.0.0, Culture=neutral, processorArchitecture=MSIL"> 
     <SpecificVersion>False</SpecificVersion> 
     <HintPath>..\Additional\mydll1\mydll.dll</HintPath> 
     </Reference> 
    </ItemGroup> 
    </When> 
    <When Condition="$(DefineConstants.Contains('__NEW_DLL_HANDLING_1__'))"> 
    <ItemGroup> 
     <Reference Include="mydll, Version=2.0.0.0, Culture=neutral, processorArchitecture=MSIL"> 
     <SpecificVersion>False</SpecificVersion> 
     <HintPath>..\\Additional\mydll2\mydll.dll</HintPath> 
     </Reference> 
    </ItemGroup> 
    </When> 
    <Otherwise> 
相關問題