Witam.
Muszę napisać program który zamienia jedną linijkę w kodzie a potem kompiluje całe rozwiązanie. Napisałem sobie taką metodę:
public static void kompiluj(string msBuild, string zrodlowe, string docelowe)
{
zrodlowe = "\"" + zrodlowe + "\"";
docelowe = "\"" + docelowe + "\"";
string param = string.Format("{0} /p:Configuration=Release;DeployOnBuild=True;PackageAsSingleFile=False;outdir={1}", zrodlowe, docelowe);
ProcessStartInfo psi = new ProcessStartInfo(msBuild, param);
psi.RedirectStandardOutput = true;
psi.UseShellExecute = false;
var proc = Process.Start(psi);
proc.BeginOutputReadLine();
proc.OutputDataReceived += Proc_OutputDataReceived;
proc.WaitForExit();
}
private static void Proc_OutputDataReceived(object sender, DataReceivedEventArgs e)
{
Console.WriteLine(e.Data);
}
i wywołuję ją tak:
Kompilator.kompiluj("msBuild.exe", path, Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "skompilowane"));
Oczywiście msbuild skopiowałem do folderu z programem. Jak skompiluje całe rozwiązanie w visual studio, a potem odpalę mój kompilator to nie ma żadnego problemu i wygeneruje folder skompilowane, ale jak już przed odpaleniem mojego programu choćbym jeden znak zmienię np. spację dołożę to mi errory wywala, jak potem sobie skompiluje to w visual studio to on błędu nie wywala i co więcej po skompilowaniu w visual da się skompilować za pomocą msbuild. Jak zrobić aby dało się kompilować za pomocą msbuild, bez wcześniejszej kompilacji w visual studio?
Takie wypluwa errory:
Kompilacja NIE POWIODŁA SIĘ.
"C:\Users\JanKustosz1\OneDrive\Programowanie\Projekty C#\SuperHaker\MateuszsploitExploit\MateuszsploitExploit.csproj" (domyślny element docelowy) (1)->
(element docelowy CoreCompile) ->
c:\Users\JanKustosz1\OneDrive\Programowanie\Projekty C#\SuperHaker\Packet\Connecter.cs(20,48): error CS1519: W deklaracji klasy, struktury lub członka interfejsu występuje nieprawidłowy token "=". [C:\Users\JanKustosz1\OneDrive\Programowanie\Projekty C#\SuperHaker\MateuszsploitExploit\MateuszsploitExploit.csproj]
c:\Users\JanKustosz1\OneDrive\Programowanie\Projekty C#\SuperHaker\Packet\Connecter.cs(20,60): error CS1519: W deklaracji klasy, struktury lub członka interfejsu występuje nieprawidłowy token "(". [C:\Users\JanKustosz1\OneDrive\Programowanie\Projekty C#\SuperHaker\MateuszsploitExploit\MateuszsploitExploit.csproj]
c:\Users\JanKustosz1\OneDrive\Programowanie\Projekty C#\SuperHaker\Packet\Server.cs(18,48): error CS1519: W deklaracji klasy, struktury lub członka interfejsu występuje nieprawidłowy token "=". [C:\Users\JanKustosz1\OneDrive\Programowanie\Projekty C#\SuperHaker\MateuszsploitExploit\MateuszsploitExploit.csproj]
c:\Users\JanKustosz1\OneDrive\Programowanie\Projekty C#\SuperHaker\Packet\Server.cs(18,60): error CS1519: W deklaracji klasy, struktury lub członka interfejsu występuje nieprawidłowy token "(". [C:\Users\JanKustosz1\OneDrive\Programowanie\Projekty C#\SuperHaker\MateuszsploitExploit\MateuszsploitExploit.csproj]
Ostrzeżenia: 0
Liczba błędów: 4
Czas, który upłynął: 00:00:00.84