asp.net LC.exe已結束代碼為 -1的原因分析及解決方案

來源:互聯網
上載者:User

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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.