私はかなり大きな解決策を持っています。すべてをロードする親プロジェクトには、多くの参照があり、すべてがロードされていることを確認しないでください。私たちが使用するサードパーティの dll の licx ファイルもあります。これはすべてビジュアルスタジオでうまく機能します。
ただし、同じソリューションを xbuild (mono) でコンパイルすると、「コマンド ラインが長すぎる」ため、lic.bat コマンドが失敗します。
ツール C:\PROGRA~2\MONO-3~1.10\bin\lc.bat の実行が引数で開始されました: --complist=my.licx --target=MyExe.exe --load=C:\PROGRA~2\MONO -3~1.10\lib\mono\4.5..\xbuild-frameworks.NETFramework\v4.0\RedistList.......\4.0\System.dll --load=C:\PROGRA~2\MONO -3~1.10\lib\mono\4.5..\xbuild-frameworks.NETFramework\v4.0\RedistList.......\4.0\System.Configuration.Install.dll --load=C:\PROGRA ~2\MONO-3~1.10\lib\mono\4.5..\xbuild-frameworks.NETFramework\v4.0\RedistList.......\4.0\System.Data.dll --load=C: \PROGRA~2\MONO-3~1.10\lib\mono\4.5..\xbuild-frameworks.NETFramework\v4.0\RedistList.......\4.0\System.Management.dll --load= C:\PROGRA~2\MONO-3~1.10\lib\mono\4.5..\xbuild-frameworks.NETFramework\v4.0\RedistList.......\4.0\System.ServiceModel.dll -- load=C:\PROGRA~2\MONO-3~1.10\lib\mono\4.5..\xbuild-frameworks.NETFramework\v4.0\RedistList.......\4.0\System.ServiceProcess.dll --load=......\Common\log4net.dll --load=C:\PROGRA~2\MONO-3~1.10\lib\mono\4.5..\xbuild-frameworks.NETFramework\ v4.0\RedistList.......\4.0\System.Configuration.dll
...................
...................................
...................................
ソリューション内の非常に長いパスを持つさまざまな dll のさらに多くの行
...................
その後、そのコマンドで失敗します
私のlicxファイルを別のプロジェクトに移動して、このlicxのものへの参照を減らすことを試みる以外に、特定のプロジェクトを含めないように、または別のメカニズムを介して引数を渡すようにmonoに指示する方法があります。
フォローアップの質問 フォローアップの質問は、lc.bat がすべての dll を参照しなければならない理由だと思います。licx ファイルとそこで参照されている dll だけを気にしませんか?