在Visual Studio 2010中复制项目

Leo*_*nid 6 c++ copy visual-studio-2010

有没有一种简单的方法可以在Visual Studio 2010中复制项目?

将具有项目的文件夹复制到其他路径并打开它会导致以下错误.

错误

我只对那些不会涉及超过1个简单操作的解决方案感兴趣.我正在创建一个简单的控制台项目,我将要复制多次,并不是真正的粉丝,每次需要完成这些简单的事情时进入设置并重复多个步骤.

我正在使用Visual C++ Express 2010.请注意下面的项目结构.我创建它作为一个空项目,并添加了1个单个文件main.cpp.

项目结构

该项目是使用设置创建的.

资源管理器中的项目看起来像这样.

有一个复制项目功能,但这意味着超过1个手动操作:

  • 打开旧项目;
  • 按菜单上的复制;
  • 关闭旧项目;

复制解决方案的父文件夹会起作用,但这会创建一个不必要的文件夹,每次我需要访问复制的项目时,我必须在每个复制的项目中导航.我想避免任何不必要的"传递"文件夹.

请注意,在创建项目时未选中创建解决方案的目录,请参阅上面的链接.如果选中此选项,将导致2个不必要的直通文件夹.有一个解决方案文件夹,创建解决方案的文件和一个项目文件夹.通过取消选中复选框,您可以删除项目文件夹,并在解决方案目录中创建项目文件,这仍然会留下其他2 - 我希望有一个出于上述原因.

AHe*_*lps 7

如果您只是复制vcxproj文件本身会很好 - 但你不能.问题是项目文件包含一个GUID,它在Visual Studio中全局唯一地标识该项目; 在内部,项目通常由其GUID引用,而不是由其名称引用.复制项目文件时,您正在复制GUID而不更改它,这将不起作用.请注意,vcxproj文件和任何sln文件都将引用GUID,因此您可能希望避免将其添加到任何sln文件,直到更改GUID之后.

项目文件的GUID部分如下所示:

<ProjectGuid>{830DD595-EAD5-475B-9360-E4C2FD7CCC53}</ProjectGuid>
Run Code Online (Sandbox Code Playgroud)

此行在有效的vcxproj文件中恰好出现一次.IDE之外用于复制项目的任何解决方案都必须手动更改GUID.你要做到这一点的唯一方法就是给自己写一个改变GUID的工具 - 尽管用好的编辑器进行搜索和替换可能足够快.您可能会发现该功能UuidCreate()很有用.请注意,如果需要将绝对路径更改为相对路径等,则直接编辑vcxproj文件也很有用.

或者,当然,您可以使用Visual Studio中的工具手动复制它们; 它存在的原因可能是一种自动化你需要做的GUID转换的方法.我会注意到,对于我们自己的项目,我经常使用记事本来编辑项目文件,尽管Notepad ++或UltraEdit是一个更好的主意.