将.dll文件(从Visual Studio生成)添加到CodeDom生成的可执行文件中没有任何问题。为此,我一直在使用以下代码:
代码:
string[] referenceAssemblies = {
"System.dll",
"System.Windows.Forms.dll",
"System.Drawing.dll",
"System.Data.dll",
"System.Xml.dll"
};
// Add the referenced assemblies to the compiler parameteres
CompilerParameters cp = new CompilerParameters(referenceAssemblies, exeFile, false);
但是,我现在想添加一个Visual Basic 6生成的.dll文件作为CodeDom生成的可执行文件的引用。我执行 NOT ,但是想将此.dll文件添加为嵌入文件。我希望.dll文件等效于在Visual Studio中执行以下操作:
来自Visual Studio:
码
Project1.Class1 vb6Test = new Project1.Class1();
vb6Test.Test("Some String");
从Visual Basic 6开始:
代码:
public Function Test(foo as String)
MsgBox(foo)
End Function
现在,从Visual Studio我可以添加Project1.dll作为我的winform应用程序的引用,并使用上面的代码(在Visual Studio部分中)调用它。我希望通过使用CodeDom整合 完全相同的功能 。但是,我在代码生成期间遇到CodeDom错误:
CodeDom代码 - 将.dll文件包含为引用的程序集:
string[] referenceAssemblies = {
"System.dll",
"System.Windows.Forms.dll",
"System.Drawing.dll",
"System.Data.dll",
"System.Xml.dll",
@"C:\Users\EVAN\Desktop\file.dll"
};
错误:
无法打开元数据文件'c:\ Users \ EVAN \ Desktop \ file.dll' - '尝试加载格式不正确的程序。 “
我不知道问题是什么,因为当我手动执行时,Visual Studio加载它作为参考没有问题。
我迫不及待地想听听你们所说的一切!
谢谢,
埃文