【问题标题】:How To Use Nuget Packages in Cake Build Tool如何在 Cake Build Tool 中使用 Nuget 包
【发布时间】:2017-07-20 02:36:44
【问题描述】:

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”不能是 fou nd(您是否缺少 using 指令或程序集引用?)

【问题讨论】:

    标签: c# nuget nuget-package cakebuild


    【解决方案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);
    

    【讨论】:

    • 谢谢!这是否意味着我不需要 packages.config 条目?有没有办法使用 packages.config 条目代替?
    • 是的,您可以使用 Addins 文件夹中的 packages.config 文件,然后在该新文件中放置并输入 RestSharp。 tools 文件夹根目录下的 packages.config 文件仅用于工具。注意:您需要最新的引导程序才能使其正常工作。
    • 您仍然需要使用#addin 或#r 指令来加载程序集并在脚本中使用。
    • @devlead 如果无论如何都必须在文件中,将它放在配置中是否有任何好处?
    • @Chazt3n 不,插件和工具的首选方式是预处理器指令
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-02-22
    • 2020-01-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多