我有一个DLL(Microsoft.SqlServer.BatchParser),我需要在scriptcs文件中引用。我可以使用useLegacyV2RuntimeActivationPolicy运行scriptcs吗?
以下DLL只能被引用,如果useLegacyV2RuntimeActivationPolicy包含在app.config文件中。
例如,这个控制台应用程序:
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运行时 加载无需其他配置信息。
所以我的主要问题是,我怎么能告诉脚本使用useLegacyV2RuntimeActivationPolicy属性开始编译CSX文件?
您只需要一个具有相同内容的scriptcs.exe.config。 –
太棒了!有效。你想发布一个答案,我会接受吗?或者我可以回答自己。 –
已回答此问题。请参阅链接http://stackoverflow.com/questions/37878353/scriptcs-mixed-mode-assembly-error – boney