簡體   English   中英

c# - 你可以對強名稱程序集進行“弱”程序集引用

[英]c# - can you make a “weak” assembly reference to a strong named assembly

由於各種原因,我寧願不在我的項目中使用強名稱(簽名)程序集。 但是,其中一個項目由sharepoint Web部件引用,這意味着它必須簽名。

是否可以對此程序集進行簽名,但是當我從其他項目引用它時,使用非強引用來執行此操作。 這將為我提供其他代碼的非簽名程序集的優點,但仍然允許它由sharepoint加載。

最簡單的方法是使用兩種不同的項目配置 - 其中一種構建一個強命名的程序集,另一種不構建。 顯然,你需要注意如何構建和引用程序集,但這與需求沖突的領域有關。

只需繼續建立沒有強名稱的項目。 當您需要將其部署到Sharepoint時,請使用工具在構建后對其進行簽名。 這是一個完全相同的工具:

http://signer.codeplex.com/Wikipage

您也可以手動完成,但它是PITA:

http://buffered.io/posts/net-fu-signing-an-unsigned-assembly-without-delay-signing/

這是OP,但我沒有OpenID登錄,所以我想我不能像我一樣回復。

感謝您的回復。 我認為要么會有效,但情況會變得更復雜一些。 我在這里記錄了我的發現,以防其他人感興趣。

事實上,sharepoint引用程序集A和程序集A依次引用程序集B.

我可以在沒有問題的情況下構建程序集A和B,但是如果我想簽署A,我必須更改項目本身以引用程序集B的簽名版本。

雖然可能有一種方法可以做到這一點,但我們認為可能的DLL沖突和配置控制問題與不同的具有相同名稱的DLL集不值得麻煩。

所以我們決定在所有版本中簽署這兩個程序集,在必要時將代碼重構到不同的程序集中,以確保只有最少量的代碼在簽名的代碼中,因此它們不太可能發生更改。

蒂姆

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM