2012-05-24 51 views
1

我最近在C#中編寫了一個程序,並使用Aspose.Cells.dll以Excel格式導出我的報告。我在我的電腦上安裝了我的程序,一些朋友的工作正常,但今天當我遇到一臺乾淨的電腦(沒有.net框架或任何編程框架)時,安裝程​​序安裝了必備軟件(.Net Framework 3.5),該程序正在啓動,但是當它涉及到使用Aspose.Cells.dll它拋出這個異常:C#Aspose.Cells.dll安裝錯誤

See the end of this message for details on invoking 
just-in-time (JIT) debugging instead of this dialog box. 

************** Exception Text ************** 
System.IO.FileLoadException: Could not load file or assembly 'Aspose.Cells, Version=5.2.0.0, Culture=neutral, PublicKeyToken=716fcc553a201e56' or one of its dependencies. Strong name validation failed. (Exception from HRESULT: 0x8013141A) 
File name: 'Aspose.Cells, Version=5.2.0.0, Culture=neutral, PublicKeyToken=716fcc553a201e56' ---> System.Security.SecurityException: Strong name validation failed. (Exception from HRESULT: 0x8013141A) 
The Zone of the assembly that failed was: 
MyComputer 
    at PersonalTimeComputer.Code.MultiExporter.SelectedtoTpcXLS(List`1 selected, String xls_save_path, Dictionary`2 personList) 
    at PersonalTimeComputer.UI.PersonalTimeComputerForm.exportToolStripMenuItem_Click(Object sender, EventArgs e) 
    at System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e) 
    at System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e) 
    at System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e) 
    at System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e) 
    at System.Windows.Forms.ToolStripItem.FireEventInteractive(EventArgs e, ToolStripItemEventType met) 
    at System.Windows.Forms.ToolStripItem.FireEvent(EventArgs e, ToolStripItemEventType met) 
    at System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea) 
    at System.Windows.Forms.ToolStripDropDown.OnMouseUp(MouseEventArgs mea) 
    at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks) 
    at System.Windows.Forms.Control.WndProc(Message& m) 
    at System.Windows.Forms.ScrollableControl.WndProc(Message& m) 
    at System.Windows.Forms.ToolStrip.WndProc(Message& m) 
    at System.Windows.Forms.ToolStripDropDown.WndProc(Message& m) 
    at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m) 
    at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m) 
    at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam) 




************** Loaded Assemblies ************** 
mscorlib 
    Assembly Version: 2.0.0.0 
    Win32 Version: 2.0.50727.1433 (REDBITS.050727-1400) 
    CodeBase: file:///C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll 
---------------------------------------- 
PersonalTimeComputer 
    Assembly Version: 1.0.0.0 
    Win32 Version: 1.0.0.0 
    CodeBase: file:///C:/Documents%20and%20Settings/Mehrazar/Desktop/Time%20Attendance/PersonalTimeComputer.exe 
---------------------------------------- 
System.Windows.Forms 
    Assembly Version: 2.0.0.0 
    Win32 Version: 2.0.50727.1433 (REDBITS.050727-1400) 
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Windows.Forms/2.0.0.0__b77a5c561934e089/System.Windows.Forms.dll 
---------------------------------------- 
System 
    Assembly Version: 2.0.0.0 
    Win32 Version: 2.0.50727.1433 (REDBITS.050727-1400) 
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System/2.0.0.0__b77a5c561934e089/System.dll 
---------------------------------------- 
System.Drawing 
    Assembly Version: 2.0.0.0 
    Win32 Version: 2.0.50727.1433 (REDBITS.050727-1400) 
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Drawing/2.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll 
---------------------------------------- 
System.Configuration 
    Assembly Version: 2.0.0.0 
    Win32 Version: 2.0.50727.1433 (REDBITS.050727-1400) 
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Configuration/2.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll 
---------------------------------------- 
System.Xml 
    Assembly Version: 2.0.0.0 
    Win32 Version: 2.0.50727.1433 (REDBITS.050727-1400) 
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Xml/2.0.0.0__b77a5c561934e089/System.Xml.dll 
---------------------------------------- 
SourceGrid 
    Assembly Version: 4.30.3817.19618 
    Win32 Version: 4.30.3817.19618 
    CodeBase: file:///C:/Documents%20and%20Settings/Mehrazar/Desktop/Time%20Attendance/SourceGrid.DLL 
---------------------------------------- 
FarsiLibrary.Win 
    Assembly Version: 1.9.0.0 
    Win32 Version: 1.9.0.0 
    CodeBase: file:///C:/Documents%20and%20Settings/Mehrazar/Desktop/Time%20Attendance/FarsiLibrary.Win.DLL 
---------------------------------------- 
FarsiLibrary.Resources 
    Assembly Version: 1.9.0.0 
    Win32 Version: 1.9.0.0 
    CodeBase: file:///C:/Documents%20and%20Settings/Mehrazar/Desktop/Time%20Attendance/FarsiLibrary.Resources.DLL 
---------------------------------------- 
FarsiLibrary.Utils 
    Assembly Version: 1.9.0.0 
    Win32 Version: 1.9.0.0 
    CodeBase: file:///C:/Documents%20and%20Settings/Mehrazar/Desktop/Time%20Attendance/FarsiLibrary.Utils.DLL 
---------------------------------------- 
Telerik.WinControls.GridView 
    Assembly Version: 2010.1.10.504 
    Win32 Version: 2010.1.10.0504 
    CodeBase: file:///C:/Documents%20and%20Settings/Mehrazar/Desktop/Time%20Attendance/Telerik.WinControls.GridView.DLL 
---------------------------------------- 
Telerik.WinControls.UI 
    Assembly Version: 2010.1.10.504 
    Win32 Version: 2010.1.10.0504 
    CodeBase: file:///C:/Documents%20and%20Settings/Mehrazar/Desktop/Time%20Attendance/Telerik.WinControls.UI.DLL 
---------------------------------------- 
Telerik.WinControls 
    Assembly Version: 2010.1.10.504 
    Win32 Version: 2010.1.10.0504 
    CodeBase: file:///C:/Documents%20and%20Settings/Mehrazar/Desktop/Time%20Attendance/Telerik.WinControls.DLL 
---------------------------------------- 
TelerikCommon 
    Assembly Version: 2010.1.10.504 
    Win32 Version: 2010.1.10.0504 
    CodeBase: file:///C:/Documents%20and%20Settings/Mehrazar/Desktop/Time%20Attendance/TelerikCommon.DLL 
---------------------------------------- 
System.Data 
    Assembly Version: 2.0.0.0 
    Win32 Version: 2.0.50727.1433 (REDBITS.050727-1400) 
    CodeBase: file:///C:/WINDOWS/assembly/GAC_32/System.Data/2.0.0.0__b77a5c561934e089/System.Data.dll 
---------------------------------------- 
Accessibility 
    Assembly Version: 2.0.0.0 
    Win32 Version: 2.0.50727.1433 (REDBITS.050727-1400) 
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/Accessibility/2.0.0.0__b03f5f7f11d50a3a/Accessibility.dll 
---------------------------------------- 
System.Xml.Linq 
    Assembly Version: 3.5.0.0 
    Win32 Version: 3.5.21022.8 built by: RTM 
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Xml.Linq/3.5.0.0__b77a5c561934e089/System.Xml.Linq.dll 
---------------------------------------- 
System.Core 
    Assembly Version: 3.5.0.0 
    Win32 Version: 3.5.21022.8 built by: RTM 
    CodeBase: file:///C:/WINDOWS/assembly/GAC_MSIL/System.Core/3.5.0.0__b77a5c561934e089/System.Core.dll 
---------------------------------------- 

************** JIT Debugging ************** 
To enable just-in-time (JIT) debugging, the .config file for this 
application or computer (machine.config) must have the 
jitDebugging value set in the system.windows.forms section. 
The application must also be compiled with debugging 
enabled. 

For example: 

<configuration> 
    <system.windows.forms jitDebugging="true" /> 
</configuration> 

When JIT debugging is enabled, any unhandled exception 
will be sent to the JIT debugger registered on the computer 
rather than be handled by this dialog box.  

正如你可以看到它加載的所有其他DLL但不是這個DLL。這個dll是否需要比.Net Framework 3.5更多的先決條件?

或者有沒有這個dll的任何想法或一些向後兼容?

在此先感謝...

回答

1

看起來這是一個簽約的問題。 Aspose.Cells是一個強名稱的程序集,您在這裏得到的錯誤意味着測試機器中的CLR無法找到相應的公鑰來驗證.dll的簽名。它看起來像你需要resign the assembly

Previous post with a similar problem.

+0

我想我的問題也因簽約,但我怎麼能再次登錄我的DLL我沒有從帖子得到我怎麼能做到這一點是有可能通過C#?還是其他什麼? – Ehsan

+0

當我去我的DLL的屬性它說,它有一個數字簽名,它是無效的,它導致問題 – Ehsan

+0

如果這是你問的問題,可以通過Visual Studio簽署一個庫。如果您從源代碼構建.dll,則可以按項目上的Alt + Enter(或右鍵單擊,然後單擊屬性),然後轉到「簽名」選項卡。驗證複選框「簽署程序集」是否被選中,並選擇強名稱密鑰文件。 (同時確保「僅延遲標誌」未選中)。 如果您沒有源代碼,您將不得不辭職.dll。有一些鏈接在[這篇文章](http://stackoverflow.com/questions/1220519/how-to-sign-a-net-assembly-dll-file-with-a-strong-name)來幫助。 – Morrison