gpt4 book ai didi

.net-4.0 - 面向 .NET 4.0 的控制台应用程序中的 Spark

转载 作者:行者123 更新时间:2023-12-04 06:46:38 26 4
gpt4 key购买 nike

我只是想知道是否有人成功地让 Spark 在 .NET 4.0 控制台应用程序中工作以将模板编译为 HTML。不幸的是,我收到以下错误:

Unhandled Exception: Spark.Compiler.CompilerException: Dynamic view compilation failed.
(0,0): error CS1703: An assembly with the same identity 'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' has already been imported. Try removing one of the duplicate references.

但是,当我以 .NET 3.5 为目标时,一切正常,但我特别希望以 4.0 为目标。有没有人解决过这个问题,Spark 邮件列表上的一些旧线程建议我可能只需要编辑源代码中的一行,然后重新编译,但我希望这是最后的手段。

编辑:
    static void Main(string[] args)
{
if (args.Length > 0)
{
var templatePath = Path.Combine(Environment.CurrentDirectory, args[0]);
var templateName = Path.GetFileName(templatePath);
var templateDirPath = Path.GetDirectoryName(templatePath);
var viewFolder = new FileSystemViewFolder(templateDirPath);

var sparkEngine = new SparkViewEngine
{
DefaultPageBaseType = typeof(SparkView).FullName,
ViewFolder = viewFolder.Append(new SubViewFolder(viewFolder, "Shared")),
};

var descriptor = new SparkViewDescriptor().AddTemplate(templateName);
var view = sparkEngine.CreateInstance(descriptor) as SparkView;

view.Model = args[1];

using (var writer = new StreamWriter(new FileStream(args[2], FileMode.Create), Encoding.UTF8))
{
view.RenderView(writer);
}
}
else
{
Console.WriteLine(">>> error - missing arguments:\n\tSparkCompiler.exe [templatepath] [modelstring] [outputname]");
}
}

最佳答案

我不认为这是最后的手段。我将 src\Spark\Compiler\BatchCompiler.cs 的第 60 行更改为

var providerOptions = new Dictionary { { "CompilerVersion", "v4.0" } };

它原本是
var providerOptions = new Dictionary { { "CompilerVersion", "v3.5" } };

在重新编译并引用新的 Spark.dll 之后,一切都像魅力一样。呃,嗯,我能够继续下一个异常(exception)。

关于.net-4.0 - 面向 .NET 4.0 的控制台应用程序中的 Spark,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3675172/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com