我一直在尝试使用C#脚本(* .csx)对某些内部API的服务调用结果进行一些数据处理。到目前为止,一切都非常顺利,但是我现在正尝试从我可以访问的C#项目中调用某些方法。 C#项目没有发布的nuget程序包,这意味着直接使用#r
引用dll。但是,为了访问必需的功能,我发现我还需要在脚本顶部添加对项目依赖项和依赖项使用的任何nuget包的引用。
#r "PATH_TO_SOLUTION\Project\bin\Debug\netstandard2.0\binary.dll"
#r "PATH_TO_SOLUTION\ProjectDependency\bin\Debug\netstandard2.0\dependent.dll"
#r "nuget: Some.Dependency, 11.0.2"
#r "nuget: Some.Other.Dependency, 10.0.2"
#r "nuget: Some.Third.Dependency, 9.0.2"
using Project;
我是C#脚本世界的新手,没有找到任何直接解决此问题的方法,因此希望我在这里不提出任何明显的问题。
某些项目依赖于大量的nuget包,是否有一种方法可以从C#脚本中引用csproj,而无需显式引用项目的所有依赖项?
让我知道我是否可以提供其他信息。
答案 0 :(得分:1)
请注意Microsoft文档上的Essential .NET - C# Scripting:
您可以获取整个清单并将其保存为CSX文件,然后 使用#load将文件“导入”或“内联”到C#REPL窗口中 Spell.csx。 #load指令允许您包含其他脚本 好像所有#load文件都包含在同一个“项目”中一样,或者 “编译”。将代码放置在单独的C#脚本文件中可实现 文件重构的类型,更重要的是持久性 C#脚本随着时间的推移。
获取所有参考,将其保存为CSX文件并试一下。
例如:
$ bash ~/scr/array/freqarray.sh
880 ==> 1
884 ==> 2
885 ==> 1
889 ==> 3
890 ==> 3
maximum occurences in analog:
889 ==> 3
890 ==> 3
highest value with maximum occurrence:
890