1

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

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

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

在此处输入图像描述

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

4

2 回答 2

3

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

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

你完成了。

于 2012-06-23T12:44:39.540 回答
0

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

也许您想运行相同服务或其他东西的两个(几乎相同)实例,但如上所述,很难想到您要这样做的真正原因。如果您希望拥有两个外观相同但实现不同的实例,那么您将希望使用接口。

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

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

于 2012-06-23T12:07:00.780 回答