程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> 解決“錯誤為Lc.exe已退出,代碼為-1”,lc.exe-1

解決“錯誤為Lc.exe已退出,代碼為-1”,lc.exe-1

編輯:C#入門知識

解決“錯誤為Lc.exe已退出,代碼為-1”,lc.exe-1


今天做項目的時候突然出現編譯不通過,錯誤為Lc.exe已退出,代碼為-1。
網查了一下,原因是項目中使用了第三方組件(Developer Express v2011)造成的,分享如下:
這個第三方組件是個商業組件,他在組件的主使用類定義了 LicenseProvider(typeof(LicFileLicenseProvider)) 這個Attribute。
VS在編譯時檢測到這個類的時候,會檢查到組件使用的是LicFileLicenseProvider這個屬性,表示有組件使用的是把許可的輔助信息保存在license.licx文件中,這個文件保存在VS中解決方案資源管理器中的Properties文件夾內。
這個文件的內容實際上是個引用,他保存著你使用的第三方組件主使用類的名稱空間+類名+文件名+文化+PublicKeyToken信息,這個文件是自動生成的。
如果這個信息與你使用的組件dll中的實際內容不匹配,則lc.exe就會出現這個錯誤信息。這個信息出現的原因是你在項目中使用了商業組件的測試版,而 在發布的時候使用的是哪個商業組件的破解版。大部分的商業組件經過破解的時候,強名稱簽名就會消失,所以破解的組件與原來的測試版組件的引用信息是完全不 同的。故每次編譯的時候,VS自動調用語言編譯器之前會調用lc(許可編譯器),就會出現-1錯誤。

解決方法:
  1、就是把Properties文件下的license.licx給刪除,重新編譯。
  2、如果還出現這個問題的話,必須將你的破解版的哪個組件使用lidism給翻譯成il語言,然後用ilasm重新編譯成dll,在編譯的時候加入   /key=[你的強名稱文件].snk   參數,自己加入強名稱簽名,然後使用VS重新編譯,就可以成功了。

 注意:我原來也是在Properties文件下刪除license.licx,編譯,問題依舊,後來是在開發項目界面 中的解決方案資源管理器中的Properties展開項下面把license.licx刪除掉,重新編譯,就好了

雖然我用的不是這個第三方插件,但是用此方法同樣可用,樓主太強大了!

轉載博客:http://blog.csdn.net/yiruoyun/article/details/8011358


我的C#程序運行後出現“LCexe已退出,代碼為-1”是什,怎解決?

解決方法就是把Properties文件下的license.licx給刪除,重新編譯
 

c# 錯誤 1 "LCexe"已退出,代碼為 -1 CarSalesSystem

是由於證書的原因,把項目中properties目錄下的license.licx文件刪除,再編譯就成功了
 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved