【问题标题】:BC30002 Error When Compiling VB Project with Microsoft.CodeAnalysis.Emit使用 Microsoft.CodeAnalysis.Emit 编译 VB 项目时出现 BC30002 错误
【发布时间】:2017-04-03 13:09:28
【问题描述】:

我正在使用 Microsoft.CodeAnalysis.Emit 编译 Visual Basic 项目并生成具有以下编译选项的 .dll 文件。

VisualBasicCompilationOptions(OutputKind.DynamicallyLinkedLibrary, optimizationLevel: OptimizationLevel.Debug);

对于我尝试编译的所有 VB 项目,发射器都会引发以下错误。请告知如何解决此问题。

vstest.executionengine.x86.exe 错误:0 : xxxxx -, C:\Projects\xxxx\xxxxx\My Project\Settings.Designer.vb(67,48): 错误 BC30002:类型“Global.xxxx.xxxx.Console.VBTestApp.My.MySettings”是 未定义。

【问题讨论】:

    标签: vb.net roslyn roslyn-code-analysis


    【解决方案1】:

    要正确编译生成的 Settings.Designer.vb 文件,您必须将项目的根命名空间设置为与生成文件相同的命名空间。在您的情况下,这似乎是xxxx.xxxx.Console.VBTestApp,所以您的选择应该是:

    new VisualBasicCompilationOptions(
        OutputKind.DynamicallyLinkedLibrary,
        optimizationLevel: OptimizationLevel.Debug,
        rootNamespace: "xxxx.xxxx.Console.VBTestApp")
    

    【讨论】:

    • 我试过这个但没用,我在stackoverflow.com/questions/43227185/…中进一步描述了这个问题
    • “不起作用”是否意味着它没有解决您询问的问题或它没有解决您遇到的其他问题?如果我的回答确实回答了您提出的问题,请考虑接受。
    猜你喜欢
    • 2017-03-14
    • 1970-01-01
    • 1970-01-01
    • 2013-03-04
    • 2021-04-28
    • 1970-01-01
    • 2020-08-12
    • 2018-07-14
    • 2020-02-19
    相关资源
    最近更新 更多