Как использовать пакеты Nuget в Cake Build Tool
build.cake:
var target = Argument("target", "Default");
Task("Default")
.Does(() => {
var client = new RestSharp.RestClient("www.test.com");
Information("Hello World!");
});
RunTarget(target);
packages.config:
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Cake" version="0.21.1" />
<package id="RestSharp" version="105.2.3" />
</packages>
Получена ошибка:
ошибка CS0246: имя типа или пространства имен 'RestSharp' не может быть найдено (вы пропустили директиву using или ссылку на сборку?)
1 ответ
Решение
Использовать #addin
Директива препроцессора для загрузки сборок из nuget, она будет извлекать пакет и ссылаться на сборки внутри него.
#addin nuget:?package=Cake.Foo
#addin nuget:?package=Cake.Foo&version=1.2.3
#addin nuget:?package=Cake.Foo&prerelease
#addin nuget:https://myget.org/f/Cake/?package=Cake.Foo&prerelease
Вы читаете больше о директивах препроцессора на cakebuild.net.
Ваш пример сценария будет выглядеть примерно так:
#addin nuget:?package=RestSharp&version=105.2.3
var target = Argument("target", "Default");
Task("Default")
.Does(() => {
var client = new RestSharp.RestClient("http://www.test.com");
Information("Hello World!");
});
RunTarget(target);