gpt4 book ai didi

脚本#,如何诊断 "Check that your C# source compiles and that you are not using an unsupported feature"

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

我收到这条消息

“检查您的 C# 源代码是否可以编译,并且您没有使用不受支持的功能”

并且不知道如何解决我做错了什么。有人知道吗?

我理解它所说的一般概念,但我需要更具体的东西

编辑:我不是要求对特定实例进行诊断。我在问是否有一个编译器开关可以提供更多信息

无论如何这里是失败的代码

    [ScriptName("Ext")]
[IgnoreNamespace]
[Imported()]
public partial class Ext //: ext.data.Store
{
[ScriptName("create")]
public static object Create(string name, object config)
{
return null;
}
}
public sealed class viewport
{

public static viewport MakeViewPort()
{
return new viewport();
//return (viewport)extwrap.Ext.Create("Ext.container.ViewPort", null);
}
}
public class Class1
{
public void foo()
{

jslate.viewport vp = jslate.viewport.MakeViewPort(); <=== fails here


}
}

我试图绕过 extjs4 不允许的事实

var win = new Ext.Window

相反,你做
var win = Ext.create('Ext.window')

您可以在这方面看到各种尝试。全部编译但被 S# 退回

最佳答案

您遇到的错误是不幸编译器失败的情况,因此无法报告更好的错误。如果您做了一些让其他语言(包括 c#)感到不高兴的事情,您会看到类似的内部编译器错误。虽然我完全同意尽可能生成更好的错误会很有用,但在某些情况下,检测不受支持的构造与支持构造的工作一样好。

我希望您能够并使用最新的编译器版本 - 从构建到构建的错误体验一直在不断改进……例如报告 c# 行 #,编译其余的 c# 代码,并发出错误语句在失败行的结果 javascript 中,而不是全有或全无方法,以及在 msbuild 路径中更好的错误报告。

在这种特殊情况下,我怀疑在上面的代码中使用命名空间限定的类型名称(extwrap.Ext 和 jslate.viewport)是错误背后的原因。实际上,此限制已在脚本# readme 中列出(以前可用,但由于文档的一部分已过时而被删除...对此感到抱歉...需要将某些内容重新联机或包含在内在设置中。)

此外,仅供引用 - 重新思考 script# 编译方法的一些核心部分,一劳永逸地解决了一系列问题。我想开始这个,然后发布编译器的源代码。实现这一根本性的改变是将整个项目带到 GitHub 上的下一步……对于那些在那里跟踪进度的人。

关于脚本#,如何诊断 "Check that your C# source compiles and that you are not using an unsupported feature",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7924469/

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