[英]How do I determine if an assembly (DLL) is coming from the GAC or local binaries in Visual Studio
我正在處理一個舊項目,該項目具有一個共享二進制文件夾,供各種項目使用。 我知道最好使用nuget解決方案,而不要使用共享二進制文件的文件夾,但是這種舊項目環境不允許這樣做。
我們遇到的問題是,這些共享二進制文件的其他一些版本已經存在於工程師的機器上(我假設安裝在GAC中)。 因此,當他們添加參考時,他們偶爾會選擇系統(GAC)實例而不是項目實例。
然后,當我們部署到未安裝GAC版本的DLL的遠程目標時,該應用程序/網頁將無法工作。
我已經看到了如何將引用添加到csproj
XML文件中,但是我不太清楚如何確定引用是否會導致GAC。
Visual Studio中是否有一種方法可以確定DLL是來自GAC還是來自我們的共享庫文件夾? 如果不在Visual Studio中,是否為此提供了VS命令行選項? 在.sln
或.csproj
文件中最終識別此問題的方法怎么樣?
您可以使用gacutil.exe,我相信
gacutil /l MyDll
或者您可以通過代碼來做到這一點:
if (!myDll.GlobalAssemblyCache)
{
// not in GAC
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.