参考csx脚本中的NuGet包

时间:2016-01-21 09:55:14

标签: c# scripting nuget roslyn

我正在尝试编写一个需要使用NuGet包的C#交互式脚本(.csx),但我必须忽略一些基本的东西,因为我无法使其工作。

我尝试添加引用包的project.json,并在nuget restore时将其安装到全局包dir中,但似乎#r指令看不到。我没有找到关于#r指令如何工作的相关文档(大多数文档似乎处理类似但不同的项目称为ScriptCS)。

如何编写引用NuGet包的csx脚本?

4 个答案:

答案 0 :(得分:5)

C#Interactive无法引用NuGet包,但scriptcs可以。

答案 1 :(得分:4)

This wiki条目有一个交互式窗口的注释,说明您需要直接引用NuGet DLL。因此,您可以在全局包目录中使用DLL的绝对路径。它并不理想,但应该有效。

答案 2 :(得分:2)

Dotnet脚本支持在CSX文件中引用Nuget软件包:

#r "nuget: AutoMapper, 6.1.0"

https://discoverdot.net/projects/dotnet-script#nuget-packages-1

答案 3 :(得分:0)

如果您以前使用过 FSharp,解决方案非常简单,但是主要的
解决办法是:

#r "nuget:Newtonsoft.Json"

以上获取最新的包版本。但如果你想指定一个版本,这行得通。

#r "nuget:Newtonsoft.Json,1.20"

如果您碰巧使用外部 nuget 源,则应使用该源初始化该源。

#i "nuget:http://example.com"

对于网络上的资源和

#i "nuget:C:\Nuget"
```for sources on your local file system