--lib を設定すると、FS2011 警告が抑制されます。ビルド時に 2 つの DLL ファイルをリンクできるように、fsc.exe に 2 つの DLL ファイルを検索する場所を効果的に伝えます。静的ビルド オプションが気に入っているのは、ソフトウェアを新しい Windows ボックスに解凍し、他の構成を必要とせずに実行できるようにするという目標を達成できるからです。
set FSLIB=--lib:c:\Windows\Microsoft.NET\Framework\v4.0.30319
set compileFlags=--debug:full --standalone --optimize+ --crossoptimize+ --tailcalls+ %FSLIB%
fsc %compileFlags% MyFSharpProgram.fsx
環境変数の代わりに、コンパイル コマンドに以下を追加するだけです。--lib:c:\Windows\Microsoft.NET\Framework\v4.0.30319
必要な DLL を含むディレクトリを、使用したディレクトリに置き換える必要があります。管理者として実行された cygwin find コマンドを使用して、ディレクトリを見つけました。
探す 。| | grep SMDiagnostics
F# (FSC.EXE) コンパイラからの次の警告を解決しました。
警告 FS2011: アセンブリ 'System.ServiceModel.Internals' が推移的に参照され、アセンブリを自動的に解決できませんでした。静的リンクでは、この DLL が F# ライブラリまたは他の静的にリンクされた DLL に依存していないと想定されます。この DLL への明示的な参照を追加することを検討してください。
警告 FS2011: アセンブリ 'SMDiagnostics' が推移的に参照され、アセンブリを自動的に解決できませんでした。静的リンクでは、この DLL が F# ライブラリまたは他の静的にリンクされた DLL に依存していないと想定されます。この DLL への明示的な参照を追加することを検討してください。
ジョー・E