2015-09-15 17 views
1

我给了一个文件夹,其中包含许多子文件夹中的解决方案及其代码。每个解决方案构建一个PrinterDriver.dll。我想要做的是创建一个主解决方案,我可以将所有项目添加到每个项目中,然后他们将全部编译。C#如何创建一个具有多个相同命名项目的解决方案?

我目前无法做到这一点,当我向主人添加每一个时,我收到一个警告,告诉我该名称的项目已经存在。做这个的最好方式是什么?

+0

通过重命名所有项目名称或组合名称相同的项目文件,使所有项目名称具有唯一性。 – Jonesopolis

+0

为每个项目使用相同的名称会令人困惑。如果解决方案具有不同的命名空间,我认为您可以使用相同的命名解决方案,但默认情况下,命名空间是解决方案的名称。正如Jonesopolis所说,最好的做法是以不同的方式命名它们。 – VirtualLife

+0

将项目重命名为Something.PrinterDriver,SomethingElse.PrinterDriver等。 –

回答

2

我强烈建议您不要创建一个包含同名项目的主解决方案,最终会导致一团糟...您必须更改程序集名称和命名空间,并且您发现最终会生成有数十个命名空间模糊错误。

所有项目......都将编译每次

如果目标仅仅是编译所有的项目一次,每一次,然后简单地编写使用的所有项目中的MSBUILD脚本文件来编译输出。

如:Compiling a .vbproj or .csproj project file without Visual Studio


如果你想有一个主的解决方案将需要手术治疗。一种方法是创建接口(或抽象类),以反映每个项目中每个类的方法签名,并使用IoC根据目标加载不同的实现类。


警告:对于更改名称空间要小心,而使用唯一名称为名称空间加前缀听起来很简单。您必须了解其他项目引用的代码库(如Printer.DLL)的影响。

+1

[Dll Hell](https://en.wikipedia.org/wiki/DLL_Hell)供参考 – Jonesopolis

相关问题