【发布时间】:2012-11-06 15:15:56
【问题描述】:
对于 .net 3.5,我将 v3.5 传递给 CSharpCodeProvider,当我在 v4.5 应用程序中将 v4.5 传递给 CSharpCodeProvider 时,我得到InvalidOperationException“找不到编译器可执行文件 csc.exe。”
有人知道这里发生了什么,我做错了什么吗?
要重现的代码。 . .
using Microsoft.CSharp;
using System;
using System.CodeDom.Compiler;
using System.Collections.Generic;
namespace Console1
{
class Program
{
static void Main(string[] args)
{
var options = new Dictionary<string, string>{{"CompilerVersion", "v4.5"}};
var cs = new CSharpCodeProvider(options);
var compilerParams = new CompilerParameters();
var r = cs.CompileAssemblyFromSource(compilerParams , "namespace ns { class program { public static Main(string[] args) { System.Console.WriteLine(\"Hello world\"); } } }");
}
}
}
【问题讨论】:
-
我看到关于 4.5 测试版的问题,并决定问这个问题,因为测试版和最终版本之间可能发生了一些变化。
-
您是否尝试使用 v4.0 来查看它是否适用于 4.5 语法?
标签: c# reflection .net-4.5