scripts/AI/Dream.booIncorporare boo in C#, non riconosce l'esecuzione di assemblaggio
import CultLib
import LonelyHero
class Dream(Enemy):
pass
C#
var bc = new BooCompiler();
bc.Parameters.Input.Add(new FileInput("rsc/script/ai/" + "Dream" + ".boo"));
bc.Parameters.Pipeline = new CompileToMemory();
bc.Parameters.References.Add(Assembly.GetExecutingAssembly());
bc.Parameters.References.Add(Assembly.LoadFile(new DirectoryInfo("CultLib.dll").FullName));
bc.Parameters.References.Add(Assembly.LoadFile(new DirectoryInfo("sfmlnet-audio-2.dll").FullName));
bc.Parameters.References.Add(Assembly.LoadFile(new DirectoryInfo("sfmlnet-graphics-2.dll").FullName));
bc.Parameters.References.Add(Assembly.LoadFile(new DirectoryInfo("sfmlnet-window-2.dll").FullName));
var cc = bc.Run();
if(cc.GeneratedAssembly!=null)
{
cc.GeneratedAssembly.CreateInstance("Dream", true, BindingFlags.NonPublic, null,
new object[] {Parent, pos}, null, null);
}
else
{
foreach (var error in cc.Errors)
Console.WriteLine(error);
}
Nella linea bc.Parameters.References.Add(Assembly.GetExecutingAssembly());
aggiungo l'assemblea di esecuzione, che contiene lo spazio dei nomi " LonelyHero". Tuttavia, viene visualizzato l'errore
rsc/script/ai/Dream.boo(2, 8): BCE0021: Namespace LonelyHero not found. maybe you forgot to add an assembly reference?
.
LonelyHero dovrebbe esistere, perché si verifica questo errore e cosa posso fare per risolverlo?
Nota: Sostituendo Assembly.GetExecutingAssmebly()
con Assembly.GetAssembly(typeof(Enemy))
, assicurando così aggiunge l'assieme con una classe sotto il namespace LonelyHero, si verifica lo stesso errore. Anche con Assembly.LoadFile(new DirectoryInfo("LonelyHero.exe").FullName)
si verifica in Boo 0.9.4.9 e booxw-1203
Potresti fornire un collegamento con tutti i file pertinenti? Inoltre, dov'è l'assemblea dell'eroe solitario nel programma boo? Vedo che lo stai importando, ma non vedo il codice (o gli stub del codice farebbero) – yumaikas
LonelyHero.Enemy è una classe che dovrebbe essere importata, se capisco quello che chiedi. –
Il nemico è pubblico? Lo spazio dei nomi importato richiede almeno un tipo pubblico. –