0
我最近使用VS2010在C#中開發了一個Excel COM插件,該插件使用對遠程Web服務的Web引用並向該服務發送數據和從該服務發送數據。一旦完成,按照我的要求,我按照步驟here將其安裝在多臺客戶端計算機上。部署VSTO後,Excel COM加載項崩潰
msi根據規格構建後,我將加載項安裝在外部計算機上。安裝成功完成後,我嘗試啓動excel並崩潰。在進一步調查中,我設法找到了包含這段代碼的Windows錯誤報告(WERInternalMetadata.xml)文件。
<ProblemSignatures>
<EventType>CLR20r3</EventType>
<Parameter0>excel.exe</Parameter0>
<Parameter1>14.0.6126.5003</Parameter1>
<Parameter2>505b0834</Parameter2>
<Parameter3>AddInTestExcel2007</Parameter3>
<Parameter4>1.0.0.0</Parameter4>
<Parameter5>53304e03</Parameter5>
<Parameter6>42</Parameter6>
<Parameter7>16</Parameter7>
<Parameter8>System.NullReferenceException</Parameter8>
</ProblemSignatures>
當我在Visual Studio上調試我的加載項我沒有得到一個NullReference異常。除此之外,我沒有其他信息說明什麼導致excel崩潰。有人能幫我解釋一下嗎?
編輯 - 外接程序的啓動代碼
private void ThisAddIn_Startup(object sender, System.EventArgs e)
{
}
private void ThisAddIn_Shutdown(object sender, System.EventArgs e)
{
}
感謝您的回覆。我的加載項中的啓動代碼是零。但是我的插件使用了一個app.config,因爲它使用了一個Web服務'ServiceReference1.SNLSoapClient dp1 = new ServiceReference1.SNLSoapClient(「SNLSoap」);'。有些東西告訴我可能是這條線。在我以前的文章和這篇文章之間,我發現我指的是帶有localhost URL的Web服務,當我試圖在其他計算機上安裝插件時,該服務明顯失敗。我更改了URL以獲得完整的IP地址,但後來它在實例化中使用了終點地址,它是app.config的一部分 – Sai
我沒有明確地用msi打包app.config,這是一個需求嗎? – Sai
你在使用app.config文件嗎?如果是,它可能無法在運行時正常工作,因爲加載項在excel.exe上下文下運行。如果你不使用app.config,那麼當然,你不需要打包它們。 –