c#如何创建一个包含多个同名项目的解决方案

本文关键字:项目 解决方案 包含多 何创建 创建 一个 | 更新日期: 2023-09-27 18:12:45

我得到了一个文件夹,其中包含许多子文件夹中的解决方案及其代码。每个解决方案都构建一个PrinterDriver.dll。我想做的是创建一个主解决方案,我可以添加所有的项目,然后他们会每次都编译。

我现在不能这样做,当我将每个项目添加到master时,我得到一个警告,告诉我该名称的项目已经存在。最好的方法是什么?

c#如何创建一个包含多个同名项目的解决方案

我强烈建议您不要创建包含相同名称的项目的主解决方案,那会导致混乱…您将不得不更改程序集名称和名称空间,并且正如您发现的那样,最终会出现数十个名称空间歧义错误。

所有的项目…每次都会编译

如果目标只是一次编译所有的项目,那么只需编写一个MSBUILD脚本,使用所有的项目文件来编译输出。

例如:在没有Visual Studio的情况下编译。vbproj或。csproj项目文件


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


警告:要小心更改名称空间,虽然使用唯一名称作为名称空间的前缀可能听起来很简单。您必须意识到对其他项目引用的代码库(如Printer.DLL)的影响。