我目前正在使用visual studio 2013在.Net中开发winform应用程序。我的问题是当我编译我的应用程序时,我在我的bin目录中同时得到了控制台应用程序和winform应用程序,并且winform.exe不会启动,除非console.exe存在。console.exe是来自单独项目的应用程序,该项目使用与winform应用程序相同的类。我怎样才能摆脱这种依赖呢?
bin
6g8kf2rb1#
它使用与WinForm应用程序相同的类当然,这有点混乱,而且也不准确,你的winforms应用程序实际上至少使用了你的控制台应用程序项目中的一个类。你需要做的第一件事是从你的winforms应用程序项目中删除项目引用。打开它的References节点,找到控制台项目,右键单击并选择Remove。你现在已经破坏了依赖关系。但是它不会再编译了,错误消息告诉你还有多少麻烦。下一步你需要做的是添加一个新的类库项目。它应该包含控制台项目和winforms项目需要的所有类型。添加一个项目引用到这个新项目。然后移动代码。如果这些工作量太大,或者你不能再解开依赖关系,那么什么都不做是一个完全可以接受的捷径。控制台应用程序也可以充当类库,CLR对此没有问题。通常,你可以通过不盲目地声明类为公共来避免陷入这种混乱。如果你认为它“需要”为公共,那么它通常属于类库项目。
1条答案
按热度按时间6g8kf2rb1#
它使用与WinForm应用程序相同的类
当然,这有点混乱,而且也不准确,你的winforms应用程序实际上至少使用了你的控制台应用程序项目中的一个类。
你需要做的第一件事是从你的winforms应用程序项目中删除项目引用。打开它的References节点,找到控制台项目,右键单击并选择Remove。你现在已经破坏了依赖关系。但是它不会再编译了,错误消息告诉你还有多少麻烦。
下一步你需要做的是添加一个新的类库项目。它应该包含控制台项目和winforms项目需要的所有类型。添加一个项目引用到这个新项目。然后移动代码。
如果这些工作量太大,或者你不能再解开依赖关系,那么什么都不做是一个完全可以接受的捷径。控制台应用程序也可以充当类库,CLR对此没有问题。通常,你可以通过不盲目地声明类为公共来避免陷入这种混乱。如果你认为它“需要”为公共,那么它通常属于类库项目。