我正在尝试编写一个需要使用NuGet包的C#交互式脚本(.csx),但我必须忽略一些基本的东西,因为我无法使其工作。
我尝试添加引用包的project.json
,并在nuget restore
时将其安装到全局包dir中,但似乎#r
指令看不到。我没有找到关于#r
指令如何工作的相关文档(大多数文档似乎处理类似但不同的项目称为ScriptCS)。
如何编写引用NuGet包的csx脚本?
答案 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