LC.exe" 以返回碼 -1 結束 之解決方式 :十一的部落:Xuite日誌
  • yan.kee
  • 文章分類
  • 最愛連結
  • 我的發燒文
  • 累積 | 今日
    loading......
  • 參觀人氣統計
  • BLOG玩意兒
  • 搜尋文章
  • 關鍵字
  • 最新文章
  • 最新回應
  • Re:只能在執行 Render() 的過程中調用 RegisterForEventValidation,by(11)於2008-07-03
    Re:[轉]自動清除7天以上的檔案 ,by(haoming)於2008-06-13
    Re:[kuso]尿布舞,by(11)於2008-05-18
    Re:[kuso]尿布舞,by(seth)於2008-05-18
    Re:C#中產生GUID,by(yankee)於2008-02-17
    Re:C#中產生GUID,by(jimmy)於2008-02-16
    Re:開發excel 問題討論串,by(11)於2008-02-02
    Re:Connection Strings 討論串,by(11)於2008-01-27
    Re:SQL 分頁,by(11)於2008-01-25
    Re:開發excel 問題討論串,by(11)於2008-01-16
  • 活動
  • 到台灣玩不帶走一張發票
    ===訪客來自===
    Locations of visitors to this page
  • 日誌使用資源






  • 如何使用RSS
    Powered by Xuite
    2008-04-23 11:07 LC.exe" 以返回碼 -1 結束 之解決方式
  • ?
  • .net文章
  • 好文轉寄
  • 平均分數:0 顆星    投票人數:0
    我要評分:
    標籤 : 


    許可證編譯器 (Lc.exe) 已退出,代碼 -1 可能的原因是:在你的專案中引用了第三方元件,並且這個第三方元件是個商業組件,他在元件的主使用類定義了LicenseProvider(typeof(LicFileLicenseProvider))這個Attribute。 VS2005在編譯時檢測到這個類的時候,會檢查到元件使用的是LicFileLicenseProvider這個屬性,表示有元件使用的是把許可的輔助資訊保存在license.licx文件中,這個文件保存在vs2005中解決方案資源管理器中的Properties文件夾內。 這個檔的內容實際上是個引用,他保存著你使用的第三方元件主使用類的名稱空間+類名+檔案名+文化+PublicKeyToken資訊,這個檔是自動生成的。如果這個資訊與你使用的元件dll中的實際內容不匹配,則lc.exe就會出現這個錯誤資訊。這個資訊出現的原因是你在專案中使用了商業元件的測試版,而在發佈的時候使用的是哪個商業組件的破解版。大部分的商業組件經過破解的時候,強名稱簽名就會消失,所以破解的元件與原來的測試版元件的引用資訊是完全不同的。故每次編譯的時候,vs2005自動調用語言編譯器之前會調用lc(許可編譯器),就會出現-1錯誤。解決方法就是把Properties檔下的license.licx給刪除,然後打開設計頁面,重新編譯就ok了。,如果還出現這個問題的話,必須將你的破解版的哪個元件使用lidism給翻譯成il語言,然後用ilasm重新編譯成dll,在編譯的時候加入 /key=[你的強名稱檔].snk 參數,自己加入強名稱簽名,然後使用vs2005重新編譯,就可以成功了。

     

    實際測試:1.關閉 VS2005 。

     

     2.到專案的所在目錄刪除 license.licx 檔案。

     

    3.開啟 VS2005 。

     

    4.執行重建該專案,此時在「方案總管」會出現 license.licx 驚嘆號, 對 license.licx 按滑鼠右鍵,選擇刪除,再重建該專案就 OK 了。

     

     



    yan.kee / Xuite日誌 / 回應(0) / 引用(0) / 好文轉寄
  • 回應