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
これはうまくいかなかったので、次のようにインライン アセンブリ リゾルバーを作成しようとしました。
これもうまくいきません。現時点では、私が持っている唯一の選択肢は、依存するDLLをUsingTask dllと一緒に何らかの方法で取得することだと考えています...しかし、これは私のMSBuild fooが失敗しているように感じます:/
どんなアイデアでも大歓迎です!ありがとう。