我有一个DLL (Microsoft.SqlServer.BatchParser),需要在scriptcs文件中引用。
只有当useLegacyV2RuntimeActivationPolicy包含在app.config文件中时,才能引用以下DLL。
例如,这个控制台应用程序:
namespace ConsoleApplication
{
class Program
{
static void Main(string[] args)
{
var batchParser = new ManagedBatchParser.Parser();
}
}
}只有在将useLegacyV2RuntimeActivationPolicy包括在app.config中时才会编译,如下所示:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5"/></startup>
</configuration>但是在CSX文件中也这样做:
#r "Microsoft.Sqlserver.BatchParser"
var batchParser = new ManagedBatchParser.Parser(); 将失败,因为我不知道如何指定该属性。当我试图运行scriptcs文件时,我就会得到这个臭名昭著的错误:
附加信息:混合模式程序集是针对运行时的版本“v2.0.50727”构建的,如果没有其他配置信息,则无法在4.0运行时中加载。
因此,我的主要问题是,如何告诉scriptcs开始使用useLegacyV2RuntimeActivationPolicy属性编译CSX文件?
发布于 2015-06-22 12:06:18
您的app.config文件将重命名为program.exe.config。为了使用useLegacyV2RuntimeActivationPolicy来完成这个任务,您只需要一个名为scriptcs.exe.config的文件,该文件中包含了ScriptCS启动节点。
https://stackoverflow.com/questions/30964268
复制相似问题