的Visual Studio 2013年如何有條件地引用基於編譯符號的DLL?
我有我在的csproj文件中引用這樣的外部DLL:
<ItemGroup>
<Reference Include="NameOfDll">
<HintPath>Path\To\Dll\NameOfDll.dll</HintPath>
</Reference>
我想,當一個編譯器符號存在此參考作用,並不能發揮作用時編譯器符號不存在。 (爲了解決第一個評論,下面,讓我們說的編譯器符號叫做弗雷德。)
這個問題 [Conditional Reference] 讓我覺得我可以叫條件的屬性添加到上面顯示的參考元素,但我可以」 t算出賦予該屬性以實現我想要的效果的價值。
我很樂意在VS UI中給出一種方法來做到這一點,但我會採取任何方法。
@HansPassant請假定編譯器符號被稱爲Fred,如果這有助於您理解問題。編譯器符號是構建屬性嗎? – cja 2015-02-07 21:35:08
條件編譯器符號位於DefineConstants構建屬性中。你會檢查DefineConstants在條件中包含了一些字符串。像'Condition =「$(DefineConstants.Contains('Fred'))'''' – 2015-02-07 21:36:35
@mikez請在答案中給出更多的細節,我會將其標記爲正確的 – cja 2015-02-07 21:38:24