2017-07-19 101 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