5

NuGet を使用して を取り込みます。YUICompressor.NET.MSBuildこれにより、 と がYUICompressor.NET取り込まれEcmaScript.Netます。

また、Web プロジェクト内の 3 つの DLL すべてへの参照も追加します。次に、次のように UsingTask 参照を追加できます。

<UsingTask TaskName="CssCompressorTask" AssemblyFile="$(SolutionDir)\packages\YUICompressor.NET.MSBuild.2.3.0.0\lib\NET20\Yahoo.Yui.Compressor.Build.MsBuild.dll" />

AfterBuild次に、タスクを使用して、ターゲットで Javascript/CSS を圧縮します

ただし、Web プロジェクトでこれらの DLL を参照する必要はありません (これらは実際には出荷するものの一部ではないため)... しかし、参照を削除すると、CssCompressorTask は他の 2 つの依存 DLL を見つけることができなくなります(それらはフォルダーから離れた別のフォルダーにあり/packagesます-それらが並んでいれば問題なく動作しますYahoo.Yui.Compressor.Build.MsBuild.dll

AssemblySearchPaths信じられないかもしれませんが、依存関係を解決するために何時間も費やしました: 最初に、次のように、他のすべての /packages サブフォルダーを含めるように変更しようとしました:

https://github.com/BenPhegan/NuGetAutoTransitiveDependencies

これはうまくいかなかったので、次のようにインライン アセンブリ リゾルバーを作成しようとしました。

MSBuild UsingTask Resolve 参照

これもうまくいきません。現時点では、私が持っている唯一の選択肢は、依存するDLLをUsingTask dllと一緒に何らかの方法で取得することだと考えています...しかし、これは私のMSBuild fooが失敗しているように感じます:/

どんなアイデアでも大歓迎です!ありがとう。

4

2 に答える 2

0

OK、v2.4.0.0+には DLL が含まれるようになりました

于 2014-09-07T21:43:24.163 に答える