4
在我的項目中,我使用了兩種配置 - 32位和64位(因爲我在32位機器上開發,但部署到64位機器) 。如何添加對類庫的引用如果我需要32位和64位
我的項目包含類庫,位於「C:... \ Commons \ bin \ Debug \ Commons.dll」。我已經將這個DLL添加到引用,但當然,當我切換到64位這不起作用。
所以我需要添加「平臺特定參考」的機制。
我知道我可以手動編輯.csproj的文件中添加類似的東西:
<Reference Include="Commons" Condition="$(Platform) == 'x64'">
<HintPath>..\Commons\bin\x64\Release\Commons.dll</HintPath>
</Reference>
<Reference Include="Commons" Condition="$(Platform) == 'x86'">
<HintPath>..\Commons\bin\x86\Release\Commons.dll</HintPath>
</Reference>
我應該做的類庫一樣嗎?
我只是想知道,即使對於類庫,VS也不支持「依賴於平臺的引用」機制?
UPD看來我確實需要以某種方式連接4種類型的dll - 86 /調試,86 /發佈,X64 /調試,64 /鬆開
對於部署,您可以編寫清單或使用Assembly類手動加載x86/x64 DLL。在運行時檢測x86/x64是一個簡單的sizeof(IntPtr)== 4或8.在SO上有類似的問題。我認爲,你用.csproj做的事情是可以的。 –
你實際上是否需要有你的程序集的單獨版本?你不能簡單地將目標設置爲anycpu嗎? –
@Steve B,是的,我會的,否則某些dll不會被加載 – javapowered