繁体   English   中英

在Visual Studio 2010中复制项目

[英]Copying a project in Visual Studio 2010

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

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

错误

我只对不会涉及超过1个简单操作的解决方案感兴趣。 我正在创建一个简单的控制台项目,该项目将复制成千上万次,而不是真正喜欢每次都要执行此类简单操作时要进入设置并重复多个步骤的爱好者。

我正在使用Visual C ++ Express 2010 注意下面的项目结构。 我将其创建为一个空项目 ,并向其中添加了一个文件main.cpp

项目结构

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

资源管理器中的项目如下所示

有一个“ 复制项目”功能,但这意味着要执行多个手动操作:

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

复制解决方案的父文件夹是可以的,但是这样会创建一个不必要的文件夹,每当我需要访问复制的项目时,就必须在每个复制的项目中进行导航。 我想避免任何不必要的“传递”文件夹。

请注意,创建项目时未选中解决方案的创建目录,请参见上面的链接。 如果选中此选项,将导致2个不必要的传递文件夹。 有一个解决方案文件夹创建 解决方案的文件 和一个项目文件夹 通过取消选中该复选框,您可以摆脱项目文件夹,并且在解决方案目录中创建了项目文件,而剩下的其他2个-出于上述原因,我希望拥有一个。

如果您可以仅复制vcxproj文件本身,那就太好了,但是您不能。 问题在于项目文件包含一个GUID,该GUID在Visual Studio中全局唯一地标识该项目。 在内部,项目通常由其GUID而不是其名称引用。 复制项目文件时,您是在复制GUID而不更改它,这是行不通的。 请注意,vcxproj文件和任何sln文件都将引用GUID,因此您可能要避免在将GUID更改之后将其添加到任何sln文件中。

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

<ProjectGuid>{830DD595-EAD5-475B-9360-E4C2FD7CCC53}</ProjectGuid>

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

或者,当然,您可以继续使用Visual Studio中的工具手动复制它们。 它存在的原因可能是作为一种自动化GUID转换的方法。 我会注意到,对于我们自己的项目,尽管Notepad ++或UltraEdit是一个更好的主意,但我经常使用Notepad编辑项目文件。

似乎您有一些通常不存在的奇怪要求,例如没有多余的文件夹,仅需执行一个简单操作即可进行复制等。

我建议您编写一个简单的应用程序/脚本来为您完成此操作,然后只需在该应用程序上单击“运行”即可。

该应用程序可以

始终从特定的“模板”文件夹进行复制。 自动将资源管理器导航到新解决方案,甚至更好,为您打开新解决方案?

如果需要帮助,请回复。

将/ projects中的整个文件夹(例如C:\\ Users \\ Username \\ Documents \\ Visual Studio 2010 \\ Project \\ ProjectName)复制到另一个位置,例如您的桌面,然后在其中打开。 这将保留项目文件正在查找的目录和文件结构。 我个人经常备份整个项目目录,并且复制比当前项目文件夹更旧的文件夹从来没有任何问题。

尽管我了解OP需要单步解决方案,但是通常,将VS2010 C ++项目复制到解决方案中的项目是一个三步过程。

  1. 将项目的整个文件夹复制到另一个文件夹,然后在Windows资源管理器中正确重命名该文件夹
  2. 在重命名的文件夹中重命名项目文件
  3. 在VS 2010的相同解决方案中,添加->现有项目->打开重命名的项目文件

希望这可以帮助。

错误提示找不到“ c:\\ user \\ admin \\ dropbox \\ training @ uva \\ volumes \\ train @ uva \\ void_template \\ main.cpp”

http://dl.dropbox.com/u/33457177/Screenshots/void_template_2011-12-04_22-15-51.png

显示将main.cpp放在“ c:\\ user \\ admin \\ dropbox \\ training @ uva \\ void_template \\”中

路径不同

因此,请检查.vcxproj文件,查找或其他内容,可能是配置错误

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM