2015-01-16 46 views
0

创建DLL我有两个应用程序没有建设项目

  • 父应用程序。
  • 儿童申请。

工作结构

  • 子应用程序的代码是从父应用程序编译。

  • 我在父应用程序中添加了一个名为MyDLL.dllDLL(父应用程序中有一个上载DLL并编译子应用程序代码的功能)。子应用程序也消耗那DLL

  • 现在我需要创建一个子应用程序的DLL。由于MyDLL.dll在父应用程序中,我无法单独构建子应用程序的项目(因为子应用程序也会消耗该MyDLL.dll)。

当我建立子应用程序,它显示错误:Could not Find namespace MyDll. Are you missing an assembly reference?

CODE

1父应用

using MyDll; 
namesapace MyNamespace 
{ 
    class ParentApplication 
    { 

    } 
} 

2.儿童应用

using MyDll; 
namesapace ChildNamespace 
{ 
    class ChildApplication 
    { 

    } 
} 

如何在没有构建子应用程序的构建项目的情况下生成子应用程序的DLL

+0

“如何在不构建子应用程序的情况下生成子应用程序的DLL”否...只是,没有 –

+0

对不起。其**儿童应用**建筑项目而不是**建筑儿童应用**。 @大卫皮尔金顿 –

回答

3

您需要构建子应用程序,因为直到代码被编译到一个dll中,那么它的正好代码就在屏幕上。因为C#被编译成Microsoft中间语言MISL,然后将其编译为公共语言运行时(CLR),然后将其转换为机器代码等本机代码。在那里你可以阅读更多关于here。 所以简而言之,你必须建立孩子的应用程序,没有其他方式。

这也似乎你没有使用MyDll.dll正确的位置,它的确切位置?

+0

是的。我知道。在正常情况下,它应该被编译为获得DLL。我无法将MyDll.dll添加到子应用程序,因为它已经添加到父应用程序中。 @James Loyd –

+0

当父类应用程序目录中存在子类的解决方案时,子应用程序可以正常工作。现在我需要将子应用程序转换为DLL并将其添加到父应用程序目录,而不是将类放在解决方案中。 @詹姆斯·洛伊德 –

+0

是的你是对的。没有构建项目就无法生成DLL。我找到了解决方案。父应用程序有一个为孩子构建DLL的功能,问题已解决。谢谢你的回答和宝贵的时间:) @James Loyd –