2013-07-01 47 views
2

我應該參考其他項目 這樣做了一個項目:條件引用 - 如何定義自定義變量

<Reference Include="referencedDll" Condition=" '$(Configuration)' == 'Debug' "> 
    <HintPath>..\Resources\External DLLs\referencedDll.dll</HintPath> 
</Reference> 

這工作得很好,並複製該DLL以防萬一它是在調試。 但我想它不依賴於調試/釋放,但其他一些變量定義

類似:

<Reference Include="referencedDll" Condition=" '$(ReleaseType)' == 'INTERNAL_RELEASE' "> 
    <HintPath>..\Resources\External DLLs\referencedDll.dll</HintPath> 
</Reference> 

我沒有找到如何界定ReleaseType變量? +有沒有什麼辦法可以在代碼和條件引用中使用同一個變量?

只見選項,使用使用

Condition=" $(DefineConstants.Contains('INTERNAL_RELEASE'))" 

,但我不能完全確定它沒有工作,我會期望

回答

1

如果有一種方法可以做到這一點在Visual Studio。 如果您直接從msbuild運行構建,則可以使用/ P:ReleaseType = INTERNAL_RELEASE。

在項目中,我最終改變配置屬性,而是有它的調試和釋放我更喜歡,DEV,QA,舞臺等值...

+0

不錯的主意 - 怎麼給你chnage配置屬性?然後你可以從腳本中使用它嗎? – user271077

+0

轉到解決方案 - >配置管理器,您將看到所有配置項目。活動解決方案配置的下拉列表包含條目,請確保從調試或發佈中複製新條目。從腳本你可以使用它通過msbuid your-project-name/p:配置= YOUR_CONFIGURATION –

+0

謝謝完美,真正有用 – user271077