Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 安全地组合两个csproj文件_C#_Visual Studio 2010_Csproj - Fatal编程技术网

C# 安全地组合两个csproj文件

C# 安全地组合两个csproj文件,c#,visual-studio-2010,csproj,C#,Visual Studio 2010,Csproj,我有两个非常长且详细的.csproj文件。 我想把它们合并成一个 我使用了文本比较器,但项目的顺序不同 而且很难区分差异 您建议如何将它们结合起来? (它们有编译、包含、生成后和生成后事件) 编辑: 我想合并两个具有一些常见依赖项的不相关项目将文件从项目1复制到项目2文件夹中。然后启用“显示所有文件”,以便可以看到项目中不存在的文件。然后右键单击每个文件并选择“包含在项目中”。我可能会在Visual Studio中完成大部分工作。您可以将所需文件从一个项目拖到另一个项目,也可以将所有文件从文件系

我有两个非常长且详细的.csproj文件。 我想把它们合并成一个

我使用了文本比较器,但项目的顺序不同 而且很难区分差异

您建议如何将它们结合起来? (它们有编译、包含、生成后和生成后事件)

编辑:
我想合并两个具有一些常见依赖项的不相关项目

将文件从项目1复制到项目2文件夹中。然后启用“显示所有文件”,以便可以看到项目中不存在的文件。然后右键单击每个文件并选择“包含在项目中”。

我可能会在Visual Studio中完成大部分工作。您可以将所需文件从一个项目拖到另一个项目,也可以将所有文件从文件系统中的一个项目文件夹复制到另一个项目文件夹,并在解决方案资源管理器中启用“显示所有文件”,以显示需要添加的文件。然后需要对齐名称空间。“类视图”窗口可以帮助识别不属于正确命名空间的类型。像Resharper这样的重构工具也可以帮助修复名称空间

如果在每个项目中都有显式的构建前或构建后事件,我将使用VS GUI显示这些事件并手动组合。如果文件中有自定义的构建目标/任务,我会在一个好的文本/XML编辑器中隔离这些目标/任务,并根据需要手动合并它们


您必须做的另一件事是添加对最终项目的引用,该项目最初并不需要这些引用,但其他项目需要这些引用。通过尝试编译和检查任何错误,可以很快确定需要添加哪些引用。

要同步2个版本还是合并2个不相关的项目?csproj文件是xml文件。您可以构建一个程序,将它们都拉入内存,比较节点的值并输出组合的内容。@Henk Holterman我想合并两个具有某些常见依赖项的不相关项目。@Kevin,Elad:它们实际上是MsBuild文件。这在寻找工具时可能会有所帮助。这并不难……除非我们讨论了数百个文件,否则我看不出问题所在,当然这将花费1/3的时间。如果您刚刚创建了一个新的解决方案,您可以将项目文件作为XML打开,并将引用从源复制到目标。