MSBuild UsingTask и разрешение ссылок
Я использую NuGet, чтобы втянуть YUICompressor.NET.MSBuild
, который в свою очередь втягивает YUICompressor.NET
и EcmaScript.Net
.
Он также добавляет ссылки на все три библиотеки DLL в моем веб-проекте. Затем я могу добавить ссылку UsingTask следующим образом:
<UsingTask TaskName="CssCompressorTask" AssemblyFile="$(SolutionDir)packagesYUICompressor.NET.MSBuild.2.3.0.0libNET20Yahoo.Yui.Compressor.Build.MsBuild.dll" />
И затем использовать задачу для сжатия моего Javascript / CSS в AfterBuild
целевой объект
/packages
- это нормально, если они находятся рядом с Yahoo.Yui.Compressor.Build.MsBuild.dll
)
Хотите верьте, хотите нет, но я потратил много часов, пытаясь решить эти зависимости.:
Сначала я попытался изменить AssemblySearchPaths
, чтобы включить все другие подпапки /packages, как здесь:
Https://github.com/BenPhegan/NuGetAutoTransitiveDependencies
Это не сработало, поэтому я попытался создать встроенный распознаватель сборок, как здесь:
MSBuild UsingTask Resolve References
Это тоже не работает. На данный момент я думаю, что единственный выбор, который у меня есть, - это получить зависимые библиотеки DLL вместе с библиотекой UsingTask, так или иначе... но это похоже на то, что мой MSBuild foo подводит меня : /
Любые идеи очень ценятся! Спасибо.
2 ответа:
Мне нужна была моя пользовательская задача, чтобы использовать API JSON (NewtonSoft). MSBuild не загружал внешнюю библиотеку dll, пока я не запустил
gacutil /i [path to dll]
.
Ок, v2.4.0.0+ теперь включите библиотеки DLL