Auteur de questions
Caractères non conformes dans le chemin d'accès ...

Discussion générale
-
Salut tt le monde,
je suis entrain de dévellopper un programme en visual basic 2010 (CodeDom Compiler) ... j'ai un bouton en dessous d'une richtextbox contenat un code à compiler
Lorsque j'appuie sur le boutton je veux que le compileur prend le code de la richtextbox mais cela n'a pas fonctionner avec moi sachant que je peux faire le meme processus avec un fichier txt ou un fichier en ressource !
Voici mon code :
Option Strict On Imports System.IO Imports System.Reflection Imports System.CodeDom Imports System.CodeDom.Compiler Imports Microsoft.VisualBasic Imports System Imports System.Windows.Forms Imports System.Text Imports System.Runtime.InteropServices Imports System.Security.Cryptography Imports System.Runtime.CompilerServices Imports System.IO.FileStream Imports System.ComponentModel Imports Microsoft.Win32 Imports System.Diagnostics Imports System.Object Imports System.Net Imports System.Threading.Thread Imports System.Environment Public Class Form1 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load NotifyIcon1.ShowBalloonTip(1000) End Sub Private Sub CrystalClearButton3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CrystalClearButton3.Click My.Computer.Audio.Play(My.Resources.click_one, AudioPlayMode.Background) With SaveFileDialog1 .Filter = "EXE Files (*.exe)|*.exe" .Title = "Save Final Project ..." .InitialDirectory = "%Desktop%" If SaveFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then CodeDomCompiler.Compile(SaveFileDialog1.FileName, IO.File.ReadAllText(RichTextBox1.Text), "") MsgBox("SourceCode Compiled Successfully.", MsgBoxStyle.Information, Title:="Information") End If End With End Sub End Class
Et voici la class CodeDom Compiler:
Imports System.CodeDom.Compiler Public Class CodeDomCompiler Public Shared Sub Compile(ByVal Output As String, ByVal Source As String, ByVal ICON As String) On Error Resume Next Dim cCompiler As ICodeCompiler = (New VBCodeProvider).CreateCompiler() Dim cCompileParams As New CompilerParameters() Dim cResults As CompilerResults cCompileParams.GenerateExecutable = True cCompileParams.OutputAssembly = Output cCompileParams.CompilerOptions = "/target:winexe" cCompileParams.ReferencedAssemblies.Add("System.dll") cCompileParams.ReferencedAssemblies.Add("System.Data.dll") cCompileParams.ReferencedAssemblies.Add("System.Windows.Forms.dll") Dim FASFASFFF = New Dictionary(Of String, String) FASFASFFF.Add("CompilerVersion", "v2.0") cCompileParams.CompilerOptions = "/filealign:0x00000200 /optimize+ /platform:X86 /target:winexe" cResults = cCompiler.CompileAssemblyFromSource(cCompileParams, Source) If cResults.Errors.Count > 0 Then For Each CompilerError In cResults.Errors MessageBox.Show("Error: " & CompilerError.ErrorText, "", MessageBoxButtons.OK, MessageBoxIcon.Error) Next ElseIf cResults.Errors.Count = 0 Then End If End Sub End Class
Mercii.
Toutes les réponses
-
Bonjour,
Quelles sont les erreurs que vous obtenez exactement ? Est-ce des erreurs au niveau du code source à compiler saisie dans votre RichTextBox ou alors une erreur dans votre code ?
Cordialement
Gilles TOURREAU - MVP C#
Architecte logiciel/Consultant/Formateur Freelance - P.O.S Informatique
Blog : http://gilles.tourreau.fr - Suivez-moi sur Twitter
- MCPD : Enterprise Developper / Windows Developper 3.5 / ASP .NET 3.5/4.0
- MCSA : SQL Server 2012
- MCITP : SQL Server 2008 Developper
- MCTS : ADO .NET 3.5 / SQL Server 2008 Developper / Windows Forms 3.5 / ASP .NET 3.5/4.0 / TFS 2010 / Windows Azure -
J'avoue ne pas comprendre le code :
IO.File.ReadAllText(RichTextBox1.Text),
Dans RichTextBox1.Text, vous avez le nom du fichier ou le code source ?!
Il faudrait peut être que vous enregistriez d'abord votre source dans un fichier.
Richard Clark
Consultant - Formateur .NET
http://www.c2i.fr
Depuis 1996: le 1er site .NET francophone -
Bonjour
Avez-vous des nouvelles pour nous?
Merci!
Cordialement,,
Aurel BERA, MSFT
MSDN Community Support. LE CONTENU EST FOURNI "TEL QUEL" SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE.
S'il vous plaît n'oubliez pas de "Marquer comme réponse" les réponses qui ont résolu votre problème. C'est une voie commune pour reconnaître ceux qui vous ont aidé, et rend plus facile pour les autres visiteurs de trouver plus tard la résolution. -
-