2010-11-21 82 views
13

我不知道我出錯的地方。當我構建它時,搜索DLL登錄的默認路徑。儘管我指定了路徑。在Visual Studio中籤署程序集時的加密失敗

我已經創建並將我的.snk文件存儲在與DLL相同的位置。

//Assembly info file for errorcollection 

using System.Reflection; 
using System.Runtime.CompilerServices; 
using System.Runtime.InteropServices; 

// General Information about an assembly is controlled through the following 
// set of attributes. Change these attribute values to modify the information 
// associated with an assembly. 
[assembly: AssemblyTitle("ErrorCollection")] 
[assembly: AssemblyDescription("")] 
[assembly: AssemblyConfiguration("")] 
[assembly: AssemblyCompany("")] 
[assembly: AssemblyProduct("ErrorCollection")] 
[assembly: AssemblyCopyright("Copyright © 2010")] 
[assembly: AssemblyTrademark("")] 
[assembly: AssemblyCulture("")] 

// Setting ComVisible to false makes the types in this assembly not visible 
// to COM components. If you need to access a type in this assembly from 
// COM, set the ComVisible attribute to true on that type. 
[assembly: ComVisible(false)] 

// The following GUID is for the ID of the typelib if this project is exposed to COM 
[assembly: Guid("2c17131b-0ae3-4146-a797-308f5958e819")] 

// Version information for an assembly consists of the following four values: 
// 
//  Major Version 
//  Minor Version 
//  Build Number 
//  Revision 
// 
// You can specify all the values or you can default the Build and Revision Numbers 
// by using the '*' as shown below: 
// [assembly: AssemblyVersion("1.0.*")] 
[assembly: AssemblyVersion("1.0.0.0")] 
[assembly: AssemblyFileVersion("1.0.0.0")] 
[assembly: System.Reflection.AssemblyKeyFile(@"D:\Services\bin\ErrorCollection.snk")] 

我得到以下錯誤:

"Cryptographic failure while signing assembly 'D:\Services\ErrorCollection\obj\Debug\ErrorCollection.dll' -- 'Error reading key file 'D:\Services\bin\ErrorCollection.snk' -- The system cannot find the file specified. ' ErrorCollection"

+0

snk實際上在D:\ Services \ bin \ ErrorCollection.snk中嗎? – 2010-11-21 08:53:58

+0

是的,我看到它。其位於我指定的地方。 – 2010-11-21 10:08:02

+0

是否有解釋爲什麼此問題已關閉?以便我瞭解不要發佈的內容。 – Mahesh 2014-03-07 09:13:59

回答

2

路徑必須是相對於組裝。

請查看以下知識base

因此嘗試改變

@ 「d:\ SERVICES \ BIN \ ErrorCollection.snk」

是像(在這裏我假設它是四個級別到你的根d盤)

@ 「.. \ .. \ .. \ .. \ SERVICES \ BIN \ ErrorCollection.snk」

1

嘗試用相同的名字創建新的SNK並覆蓋舊的

這個工作對於m即猜測snk受到損壞

8

檢查本地計算機上的Keys文件夾的訪問權限並授予VS用戶權限。

C:\Documents and Settings\All Users\Application Data\Microsoft\Crypto\RSA\MachineKeys 
+0

我有同樣的問題,並以類似的方式解決它見https://github.com/nosami/Omnisharp/issues/150 – vexe 2014-08-26 12:52:29

+0

完美的結論。我已將所有者更改爲該文件夾的本地組管理員,並忘記爲其添加權限。 – Gandarez 2016-07-11 20:47:58

0

你也可以關閉簽署在你的VisualStudio

2

對於我這個問題,升級到Windows 10 然後MachineKeys的的位置位於不同的位置,即

℃之後發生:\ ProgramData \ Microsoft \ Crypto \ RSA

RightClick MachineKeys並確保設置了所有權限。

+0

對於未來的讀者....這個答案解決了我的問題。但我也遇到了「授予權限」的問題....如此網址所見。 https://social.technet.microsoft.com/Forums/windowsserver/en-US/db04b57c-7684-4e52-8e1a-5e4407f6e2ab/windows-2012-failed-to-enumerate-objects-in-the-container-access- denied?forum = winserver8gen – granadaCoder 2016-08-05 03:20:34

+0

您可能無法獲得授予權限的問題。但如果你這樣做,請按照我以前的評論中的網址或互聯網搜索短語「無法枚舉容器中的對象。訪問被拒絕「,但在我過去了實際授予權限的問題之後...這個答案節省了一天的時間。 – granadaCoder 2016-08-05 03:22:00

1

右鍵點擊你的項目 - >屬性 - >選中「登錄大會」

1

什麼固定它,我是確保我在運行Visual Studio爲管理員。

相關問題