How to use Nuget packages in 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>
Received error:
error CS0246: RestSharp type or namespace name cannot be fou nd (are you missing a using directive or an assembly reference?)
+3
source to share
1 answer
Use #addin
preprocessor directive to load assemblies from nuget, it will fetch the package and reference assemblies inside it.
#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
Read more about preprocessor directives at cakebuild.net .
Your example script would look something like this:
#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);
+4
source to share