2010-01-11 86 views
0

我最近將我的開發環境(VM.NET上的VS.NET 2008 SP1)移至新網絡,使用更嚴格的防火牆。在後續的構建過程中,許可證編譯器(lc.exe)需要很長時間才能完成(幾分鐘)。我認爲它是超時的,因爲它無法通過防火牆連接,但是我看不到超時或事件日誌中存在錯誤的證據。.NET許可證編譯器(LC.EXE)的網絡連接問題

是否知道lc.exe是否嘗試與供應商的許可證服務器進行通信,如果是,是否使用非http端口來執行此操作? Google不是我的朋友。

+1

你試過網絡嗅探器嗎? – SLaks 2010-01-11 01:47:41

回答

1

lc.exe如果您使用具有自定義許可證提供程序的組件,則可能會在外部很好地進行連接。

This article(這是非常非常老,但仍然合適)描述瞭如何做到這一點。

考慮構建一個非常小的臨時項目,除了常規的.NET控件之外不需要其他任何東西,並查看構建是否令人滿意。如果是這樣,那麼像WireShark這樣的東西可能會告訴你發生了什麼,或與控制器的供應商覈實。

1

如果您正在處理數字簽名的程序集,可能會發生這種情況。安裝.net 3.5 SP1後,請嘗試以下操作:

1)在Internet Explorer中,工具|選項|高級|安全|取消選中「檢查發佈商的證書撤銷」。
2)編輯C:\ WINDOWS \ microsoft.net \框架\ V2.0.50727 \ CONFIG \ machine.config中,並添加以下重點:

<configuration> 
<runtime> 
    <generatePublisherEvidence enabled="false"/> 

我有一個非常類似的問題(長JIT次) ,第二個絕對解決了我們的問題。正如Jeremy還指出的那樣,我們確定這是我們的問題,因爲我們使用wireshark查看服務器在DNS請求上超時以解析用於證書的外部服務器的名稱。