2009-05-19 145 views
88

我想复制我的项目。我宁愿不从头开始通过添加文件和引用等来完成它。请注意,我并不意味着要部署的副本。只是简单的复制。Visual Studio复制项目

VS中是否有工具可以做到这一点?我正在使用VS 2008

回答

112

如果你想要一个副本,最快的方法是保存项目。然后在文件系统上复制整个文件。回到Visual Studio并打开副本。从那里,我很可能会建议重新命名该项目/解决方案,以便您没有两个相同的名称,但这是制作副本的最快方式。

+0

谢谢!有时正确的解决方案是最简单的 – sarsnake 2009-05-19 18:18:43

+1

这就是我所做的。我通常手动编辑。* proj文件来更改名称,例如一旦我制作副本。 – 2009-05-19 18:21:54

+0

@Soo - 这就是我所做的,但手动。* proj和.sln更改并非适用于所有人... – 2009-05-19 18:45:10

6

我想如果这是你经常做的事,有一个小(非免费)工具,有望为你做它:我没有使用过,所以不知道它有多好:

http://www.kinook.com/CopyWiz/

也有这个项目在CodePlex上:

http://clone.codeplex.com/

我可能会给予CodePlex项目一试,如果它不工作,我会手动重命名一切,编辑SLN文件。

1

最好的方法是从头开始创建一个新项目,然后进入带有要复制的项目文件的文件夹(项目,窗体1,除文件夹以外的所有内容)。 重命名文件(除了form1文件)例如:我将Ch4Ex1文件复制到我的Ch4Ex2项目中,但首先将文件重命名为Ch4Ex2。 将这些文件复制并粘贴到Visual Studio中新项目的解决方案资源管理器中。 然后只是覆盖文件,你应该很好去!

旧线程,但我希望它可以帮助任何人寻找这个答案!

3

我请按照下列步骤,我使用称为Resharper开发工具,它的方式是真棒:

所以,

  1. 复制现有的项目文件夹到目的地,你想
  2. 转到源代码管理,并右键单击到所需的根文件夹,然后选择“将项目添加到文件夹...”。然后,向导会出现以选择要复制的文件(没有必要对于某些文件和向导默认情况下为此指导你)。
  3. 更改解决方案文件的名称(*的.sln)子项目是否存在的
  4. 更改名称
  5. 使用resharper更改绑定名称空间名称(我将自动执行安全的肮脏工作)。另一种方法是手动更改所有名称空间与新名称。
  6. 与方法名称相同的动作。
  7. 检查解决方案的属性如果你想改变。

就是这样。你准备好了!!!

0

我有一个项目,其中源文件位于项目文件夹下的文件夹中。当我复制没有源文件夹的项目文件夹并打开复制的项目时,源文件不会丢失,但会在旧位置找到。我关闭了项目,复制了源文件夹,然后重新打开了项目。现在,该项目神奇地引用了复制的源文件(新路径显示为“另存为”,并且文件的更改已保存在复制版本中)。

有一个警告:如果旧的和新的项目文件夹都不在旧的库文件夹下面,上述的魔术丢弃也是对库的绝对引用,并且期望它在相同的相对路径下。

我试图与VS快递2012年

2

它是高度不可取在所有复制的项目,因为在一些配置文件在内部形成像的.csproj,.vspscc等可以(和最有可能将)指向属于系统或TFS中先前解决方案的位置和其他路径/位置的引用。除非您是阅读这些文件和修复引用的专家,否则不要尝试复制项目。

您可以创建一个您打算复制的相同类型的骨架项目,这会创建一个合适的.csproj,.vspscc文件。现在您可以自由复制上一个项目中的课程文件,脚本和其他内容,因为它们不会造成影响。这将确保顺利建设和版本控制(你应该选择感兴趣的是)

说了这么多,让我给你一个逐步的方式无论如何复制项目的方法:

  1. 转到您要在解决方案资源管理器中复制的项目,并在右键单击
  2. 现在选择'在文件资源管理器中打开文件夹'(假设您已将解决方案映射到磁盘上的本地路径)。
  3. 选择项目要复制的整个文件夹
  4. 在所需位置粘贴它们(与所有的依赖关系,仓.vspscc文件,.csproj的文件一起)(也可能是您的解决方案相同的文件夹或甚至另一个解决方案文件夹。如果它位于同一个解决方案文件夹中,则需要将其重命名,并将.csproj和其他内部文件重命名为新名称)。
  5. 没有回去到Visual Studio,右键单击方案>添加>现有项目...
  6. 浏览并选择项目文件(.csproj文件)从现在的位置,你把它放在和选择'打开'
  7. 此文件现在出现在解决方案资源管理器中供您使用。

您现在可能需要解决一些可能存在重复/缺少引用和内容的构建错误,否则它就像您预期的那样在逻辑和结构上是原始的。

20

只需创建一个模板;

从项目中选择文件 - 导出模板

向导将让你定义

  • 模板名称
  • 模板描述
  • 图标
  • 预览图像

那就是zi将您的项目添加到“我的导出模板”目录中。 您也可以选择在创建新项目时使模板可用。

当您使用模板来创建一个新项目,命名空间将成为“your_new_project_name”正确遍及所有文件,所有引用正确的,一切PERFECTO :)

您可以将.zip文件发送给任何人,并且他们必须将.zip文件复制(而不是解压缩)到Templates \ ProjectTemplates目录中供他们使用。

我做了一个ASP.NET MVC模板,包含文件夹,布局页面,视图模型等等,这些模板被安排成我喜欢它们的方式。

注意:
如果您的项目中有一个空文件夹,它不会被添加到模板中,所以我只是为每个文件夹添加了一个空类,并为图像文件夹添加了一个样例图片。

0

我的解决方案有点不同 - 包所在的计算机已经死机,所以我不得不在另一台计算机上重新创建它。

我做(在VS 2008)什么是我的目录中打开以下文件:

    - <package name>.djproj 
        - <package name>.dtproj.user 
        - <package name>.dtxs 
        - <package name>.sln 
        - Package.dtsx 

当我做这个弹出窗口问我,如果SLN文件将是一个新的解决方案,当我点击“是”时,一切都很完美。

0

尝试上述解决方案&创建副本后MVC项目

对于MVC项目,请更新.csproj的文件中的端口号,你可以采取IIS对ApplicationHost.config帮助检查端口号。相同的端口号会导致IIS中的程序集加载问题。