Referenziert die aktuelle Assembly mit CompilerParameters

9

Im Moment arbeite ich an einem Projekt, und das Team möchte Code schreiben und bearbeiten, ohne das gesamte Projekt neu kompilieren zu müssen. Deshalb habe ich beschlossen, eine Scripting-Engine zu implementieren.

Nachdem ich zuvor Lua in C ++ implementiert hatte, war ich noch kein Neuling für die Implementierung von Skriptfunktionen in Projekten. Wir wollten jedoch versuchen, direktes C # mithilfe des Microsoft.CSharp-Namespace in Kombination mit System.Reflection, das bereits in C # integriert war, zu implementieren.

Nachdem ich davon gehört habe, habe ich in der Dokumentation herumgestochert und einen Prototyp gefunden, der FAST funktioniert - aber nicht ganz.

%Vor%

Das Problem, das ich im Moment habe, ist, dass ich meine Schnittstelle - IScript.cs (die sich im Namespace von Scripting und somit der aktuellen Assembly befindet) - referenzieren kann, so dass im Compiler geschriebene und geparste Skripte können darauf zuzugreifen. Offensichtlich habe ich Scripting.dll als Parameter hinzugefügt, aber es scheint nicht möglich zu sein, aus irgendeinem Grund darauf zuzugreifen. Ich bin läuft es in Debugging, so dass dies Ursache für einige große facepalmage sein könnte. Was tun?

Gibt es eine Möglichkeit, die aktuelle Assembly zu referenzieren und an CompilerParameters zu übergeben? Oder bin ich königlich verwirrt / sollte ich mich darauf verlassen, eine Assembly für Skriptobjekte / etc zu erstellen?

    
Dan Pantry 18.05.2012, 17:27
quelle

2 Antworten

5

Es sieht wahrscheinlich im falschen Verzeichnis aus.

Übergeben Sie typeof(Program).Assembly.CodeBase , um den vollständigen Pfad zu übergeben.

    
SLaks 18.05.2012, 17:28
quelle
0

Sie können die ausführbare Datei abrufen und an den CompilerParameters übergeben:

%Vor%     
M.Hassan 27.03.2017 12:34
quelle

Tags und Links