2017-07-19 93 views
2

build.cake:如何使用的NuGet包在饼构建工具

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:类型或名称空间名称“Rest”夏普”无法缶 次(是否缺少using指令或程序集引用?)

回答

4

使用#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); 
+0

谢谢!这是否意味着我不需要packages.config条目? 有没有办法使用packages.config项呢? – Chazt3n

+1

是的,您可以使用Addins文件夹中的packages.config文件,并将该文件放置在RestSharp的新文件中。 tools文件夹根目录下的packages.config文件仅用于工具。注意:您需要使用最新的引导程序才能正常工作。 –

+0

@GaryEwanPark谢谢你,先生。完成 – Chazt3n