我有一個用C#編寫的windows服務。它動態生成C#代碼並將它們編譯爲程序集,例如abc.dll,xyz.dll等。這些程序集稍後會加載執行。編譯時,我傳遞/ keyfile:mykeyfile.snk「作爲System.CodeDom.Compiler.CompilerParameters類的編譯器選項之一。現在問題: 由於強名稱驗證失敗,因此某些組合程序無法加載。我從測試系統得到了生成的程序集,當我用sn,exe檢查它們時,我發現大約有六分之一的程序集是延遲或測試簽名。運行sn.exe -v xyz.dll給我 xyz.dll是一個延遲簽名或測試簽名的程序集。很顯然,這將無法加載。CompileAssemblyFromSource測試簽名程序集
爲什麼有些組件不正確簽名?
不確定它可以幫助,但你嘗試記錄編譯器輸出?也許有一些問題的國王。 –