我已經創建了一個測試項目,其輸出將是強命名的程序集。我在'項目 - >屬性 - >簽名'部分中指定了SNK文件名,這樣程序集就會被強制命名。 我添加了未簽名或強名稱的程序集的引用。我期待着我的項目完全不會構建,因爲它引用了未簽名的程序集。但是,它的內置,我也可以在GAC中安裝程序集!爲什麼這樣? (我正在使用.NEt 4.0,它是gacutil.exe) 注意:我確保被引用的程序集不是強命名的。反射和強有力的命名程序集
我可以在我的程序中以編程方式加載'unsigned'(即非強名)程序集,該程序的輸出將會是強命名的程序集?如果是,爲什麼在另一方面允許這樣做,.NET不允許添加對未簽名程序集的引用?
如果我在GAC中有多個版本的相同程序集。在我的配置文件中,如果我只指定程序集的名稱,哪個版本將從GAC加載?它會每次都是最新版本嗎?哪個API會有用?我在
Assembly
類中發現了許多標記爲「已棄用」的方法。
1
A
回答
0
有在簽名的程序集引用一個無符號的組合沒有問題。它可以完成,簽署的程序集可以是GAC。
是的,你可以加載。
如何通過名稱指定程序集?只有一個API LoadWithPartialName,並且由於許多原因而被棄用。您需要版本,文化和公鑰標記來唯一標識程序集。
1
您可以從簽名的程序集中引用VS.Net中的未簽名程序集。但是如果你調用從簽名到無符號的任何東西,構建將失敗。
相關問題
- 1. 強烈命名的程序集代替非命名的程序集
- 2. c# - 你可以做一個「弱」的程序集引用一個強有力的命名程序集
- 3. 強簽名的程序集
- 4. 如何使用具有強命名程序集的「InternalsVisibleTo」屬性?
- 5. 我可以強制程序在鏈接到強名稱程序集時加載弱命名程序集嗎?
- 6. 使用來自強命名程序集的反射來創建類型實例的問題
- 7. 需要C#程序集寬鬆地引用強命名的程序集
- 8. 反射中的.NET Framework程序集
- 9. 重命名程序集後的反序列化問題
- 10. C#反射:將類發射到現有程序集
- 11. 創建強大的命名程序集時的版本0.0.0.0
- 12. 項目和程序集命名約定
- 13. 爲什麼使用強命名的程序集?
- 14. 爲什麼Visual Studio要求強大的命名程序集?
- 15. 強命名程序集不工作在我的Visual C#
- 16. C#,反射,插件,程序集
- 17. 檢查程序集的強名
- 18. SetMsiAssemblyNameFileVersion破壞程序集的強名稱
- 19. 程序集命名約定
- 20. 命名:解決方案,項目,命名空間和程序集
- 21. COM互操作性需要強命名程序集嗎?
- 22. 強命名或Authenticode簽署新程序集
- 23. C#反射加載沒有FQN的「系統」程序集
- 24. 簽名的程序集似乎加載未簽名(不使用反射)
- 25. 在PHP中的命名空間反射
- 26. 反射讀取命名類的註釋
- 27. 命名空間中的反射php
- 28. 強烈命名的程序集驗證失敗,引用從非簽名項目
- 29. 如何在SSIS中使用沒有強名稱的程序集
- 30. 引用的程序集'DocuSign.eSign'沒有強名稱
感謝您的回覆。但是,如果您遵循http://msdn.microsoft.com/en-us/library/wd40t7ad.aspx鏈接,甚至MSDN都會說「強名稱程序集只能引用其他強名稱程序集」。所以我仍然對第一點感到困惑。如果你對問題2的回答是'是',那麼你能否回答我的問題,爲什麼允許(考慮我在指定鏈接處的文章)?再次感謝。 – Learner 2010-12-03 05:17:19