CodeDom参考VB6 dll

时间:2011-10-05 20:07:10

标签: c# visual-studio reference codedom

将.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:

  1. 打开Visual Studio>新窗口表单应用程序
  2. 参考文献>添加参考> Com Reference
  3. 使用以下
  4. 调用名为'Test(foo as string)'的函数

    Project1.Class1 vb6Test = new Project1.Class1();
                    vb6Test.Test("Some String");
    

    从Visual Basic 6开始:

    1. 新项目>属性> Active X Dll
    2. 使用公共修饰符创建新的类模块,并添加以下函数:
    3. 创建Project1.dll
    4. 代码:

      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加载它作为参考没有问题。

      我迫不及待地想听听你们所说的一切!

      谢谢,

      埃文

0 个答案:

没有答案