如何解决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 举报,一经查实,本站将立刻删除。