如何在解决方案中使用相同的名称类库

时间:2012-06-23 11:53:08

标签: c# .net class-library

需要在我的解决方案中添加两个相同名称的.csproj类库。有两个项目,但遗憾的是那些项目类库名称相同,如:Hello.csproj.I尝试在解决方案上添加现有项目然后显示错误

http://blogs.msdn.com/b/ansonh/archive/2006/09/27/774692.aspx 从上面的url我学会了如何在同一个项目中使用相同的命名空间dll,但我需要帮助如何在解决方案中使用相同的类库

如果有任何疑问,请先询问,谢谢。

enter image description here

注意:好的人想知道原因,我在Autocat 2005和2010上有两个项目,现在想要将这些项目合并到一个解决方案上,2010更新基于2005年,所以类库是一样的,但我需要同时使用它们。所以出现问题并寻求帮助。

2 个答案:

答案 0 :(得分:3)

只要项目已在不同的文件夹中创建,并且它们位于不同的解决方案文件夹中,您就可以拥有相同名称的项目。如果已经创建了项目,请执行此操作将其添加到您的解决方案中:

  1. 将您的第一个项目添加到解决方案中。
  2. 在“解决方案资源管理器”窗口中,右键单击您的解决方案,然后选择添加 - >新建解决方案文件夹
  3. 为新创建的文件夹命名。
  4. 右键单击该文件夹,然后选择添加 - >现有项目
  5. 导航到第二个项目,然后双击.csproj文件。
  6. 你已经完成了。

答案 1 :(得分:0)

如果你真的必须这样做,那么确保第二个项目有不同的名称,然后更改第二个项目中类的名称空间(通常项目名称包含命名空间的第一部分 - 只需更改该部分) 。这些类在内部仍然是相同的,但因为它们具有不同的命名空间,所以它们将是不同的实体。这会导致非常臭的代码,但是当你开始在ClientApp中混合它们时 - 为了避免混淆,请确保你总是通过它们的完整命名空间引用它们(即在类的顶部没有using xyz.myclassname;语句使用它们的文件。)

也许您想要运行相同服务的两个(几乎相同)实例,但如上所述,很难想到为什么需要执行此操作的真正原因。如果您希望有两个相同的外观但实现不同,那么您将需要使用接口。

编辑:Visual Studio不允许您拥有两个名称相同的项目,如果您更改项目名称但未更改其项目GUID(在.proj中),则您正在玩疯狂的游戏文件和.sln文件)。

您最简单的方法是在解决方案资源管理器中创建一个新的项目,右键单击它并在资源管理器中打开文件夹,然后复制从原始项目到新项目的类文件,然后在解决方案资源管理器中选择显示所有文件(解决方案资源管理器顶部的小按钮),然后在新项目下选择新添加的文件,右键单击,添加到项目。 (这些菜单选项来自内存,它们应该大致正确)。