我在C#中編寫了一個小腳本引擎,我在想,是否有某種#compiler指令或某種其他頭文件類型的文件,我可以用我的腳本文件編譯來定義我的腳本文件是什麼託管Dll引用?.Net腳本引擎(C#) - .Net語言是否有某種「頭文件」或「dll引用文件」?
public static CompilerResults LoadScript(
string SourceCodeFile, string[] References)
{
var Parameters = new CompilerParameters()
{
GenerateExecutable = false,
GenerateInMemory = true,
IncludeDebugInformation = false,
};
Parameters.ReferencedAssemblies.AddRange(References);
return CSharpCodeProvider.CreateProvider(
CSharpCodeProvider.GetLanguageFromExtension(
Path.GetExtension(SourceCodeFile)))
.CompileAssemblyFromFile(Parameters, SourceCodeFile);
}
我很想能夠消除這行代碼:
Parameters.ReferencedAssemblies.AddRange(References);
並把我的腳本信息,而不是。問題是我不一定知道腳本將要引用的.dll文件。我目前的解決方案是解析一個自定義的「script.cs.refs」文件,它看起來像這樣:
"System.dll","System.Data.dll","SomeOther.dll","Ect.dll"
任何幫助找出visual studio存儲您對dll的引用的位置,以及它是否必須在單獨的文件中定義,如果有一個標準化的格式,我應該使用,我可以加載到告訴它這個信息的編譯器,將不勝感激!
這就是我害怕的,我想我現在可以在腳本文件頂部的評論中定義這些信息...... – Fox 2009-03-06 10:06:18