0

最近、より制限の厳しいファイアウォールを使用して、開発環境 (VMWare 上の VS.NET 2008 SP1) を新しいネットワークに移動しました。その後のビルド中に、ライセンス コンパイラ (lc.exe) が完了するまでに長い時間がかかりました (数分)。ファイアウォール経由で接続できなかったため、タイムアウトしたと思いますが、イベント ログにタイムアウトやビルド エラーの証拠はありません。

lc.exe がベンダのライセンス サーバーに通信しようとするかどうか、またそうする場合は http 以外のポートを使用するかどうかを知っていますか? グーグルはこれに関して私の友人ではありませんでした。

4

2 に答える 2

1

lc.exeカスタムライセンスプロバイダーを持つコンポーネントを使用している場合は、外部に接続することをお勧めします。

この記事(非常に高齢ですが、それでも適切です)では、これがどのように行われるかについて説明します。

通常の.NETコントロール以外のものを必要としない非常に小さなスクラッチプロジェクトを構築することを検討し、それが十分に構築されるかどうかを確認します。もしそうなら、WireSharkのようなものが何が起こっているのかを教えてくれるかもしれませんし、コントロールのベンダーに確認するかもしれません。

于 2010-01-11T02:13:43.530 に答える
1

これは、デジタル署名されたアセンブリを扱っている場合に発生する可能性があります。.net 3.5 SP1 をインストールした後、次のことを試してください。

1) Internet Explorer で、ツール | オプション | 高度な | セキュリティ | 「発行元の証明書の失効を確認する」のチェックを外します。
2) c:\windows\microsoft.net\framework\v2.0.50727\config\machine.config を編集し、次のキーを追加します。

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

非常によく似た問題 (長い JIT 時間) があり、2 番目の問題は完全に解決されました。Jeremy も指摘しているように、wireshark を使用して、証明書に使用される外部サーバーの名前を解決するための DNS 要求でサーバーがタイムアウトしていることを確認したときに、これが私たちの問題であると判断しました。

于 2010-01-11T03:16:45.383 に答える