我有一个 DLL (Microsoft.SqlServer.BatchParser),我需要在 scriptcs 文件中引用它。
只有在 app.config 文件中包含 useLegacyV2RuntimeActivationPolicy时,才能引用以下 DLL 。
例如,这个控制台应用程序:
namespace ConsoleApplication
{
class Program
{
static void Main(string[] args)
{
var batchParser = new ManagedBatchParser.Parser();
}
}
}
只有当我在 app.config 中 包含useLegacyV2RuntimeActivationPolicy时才会编译,如下所示:
<?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 文件?