Codedom 编译器 VB.NET 4.6.1 不支持

问题描述

Sub Codedom(ByVal Path As String,ByVal Code As String,ByVal MainClass As String)
    Dim providerOptions = New Collections.Generic.Dictionary(Of String,String) 'Thanks to Cobac for adding this.
    providerOptions.Add("CompilerVersion","v4.6.1")
    Dim CodeProvider As New Microsoft.CSharp.CSharpCodeProvider(providerOptions)
    Dim Parameters As New CompilerParameters
    With Parameters
        .GenerateExecutable = True
        .OutputAssembly = Path
        .CompilerOptions += "/platform:X86 /unsafe /target:winexe"
        .MainClass = MainClass
        .IncludeDebuginformation = False
        .ReferencedAssemblies.Add("System.Windows.Forms.dll")
        .ReferencedAssemblies.Add("System.CodeDom.CodeObject")
        .ReferencedAssemblies.Add("System.CodeDom.Compiler.CodeDomProvider")
        .ReferencedAssemblies.Add("Microsoft.CSharp.CSharpCodeProvider")
        .ReferencedAssemblies.Add("Microsoft.VisualBasic.VBCodeProvider")
        .ReferencedAssemblies.Add("Microsoft.VisualBasic.dll")
        .ReferencedAssemblies.Add("System.Linq.dll")
        .ReferencedAssemblies.Add("System.Core.dll")
        .ReferencedAssemblies.Add("System.Data.dll")
        .ReferencedAssemblies.Add("System.Deployment.dll")
        .ReferencedAssemblies.Add("System.Drawing.dll")
        .ReferencedAssemblies.Add("System.Xml.dll")
        .ReferencedAssemblies.Add("System.Xml.Linq.dll")
        .ReferencedAssemblies.Add("System.dll")
        .ReferencedAssemblies.Add(Process.GetCurrentProcess().MainModule.FileName)
        .ReferencedAssemblies.Add(Application.ExecutablePath)
    End With
    Dim Results = CodeProvider.CompileAssemblyFromSource(Parameters,Code)
    If Results.Errors.Count > 0 Then
        For Each E In Results.Errors
            MsgBox(E.ErrorText)
        Next
    End If
End Sub

它适用于 4.0,但不适用于 4.6.1 任何想法?为什么?

我还尝试添加更多我没有太多想法的参考组件

搜索了很多,但没有找到任何信息,所以这让我很烦恼。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)