Visual Studio复制项目
我想复制我的项目。 我宁愿不开始从头开始通过添加文件和引用等。请注意,我不是指复制部署。 只是简单的复制。
有没有VS的工具来做到这一点? 我正在使用VS 2008
如果你想要一个副本,最快的方法是保存项目。 然后在文件系统上复制整个文件。 回到Visual Studio并打开副本。 从那里,我很可能会推荐重新命名这个项目/解决scheme,这样你就没有两个同名的名字了,但这是最快的方法。
只需创build一个模板;
从你的项目中select了文件 – 导出模板
向导将让你定义
- 模板名称
- 模板说明
- 图标
- 预览图像
然后它将您的项目压缩到“我的导出模板”目录中。 您还可以select在创build新项目时使模板可用。
当你使用你的模板来创build一个新的项目时,名字空间在每个文件中的'your_new_project_name'都是正确的,所有引用都是正确的,一切都完美无缺。
您可以将.zip文件发送给任何人,他们必须将.zip文件复制(而不是解压缩)到Templates \ ProjectTemplates目录中以供其使用。
我做了一个ASP.NET MVC模板,包括文件夹,布局页面,视图模型等等,我怎么喜欢它们。
注意:
如果您的项目中有一个空文件夹,它将不会被添加到模板中,所以我只是添加了适合每个文件夹的空白类以及图像文件夹的示例图片。
我想如果这是你经常做的事情,那么有一点(非自由的)实用程序会承诺为你做:我没有使用它,所以不知道它有多好:
http://www.kinook.com/CopyWiz/
CodePlex上也有这个项目:
我可能会尝试codeplex项目,如果它不起作用,我会手动重命名一切,并编辑sln文件。
我遵循这些步骤,并使用称为Resharper的开发工具,这是令人敬畏的方式:
所以,
- 将现有项目文件夹复制到所需的目的地
- 转到源代码pipe理,并右键单击所需的根文件夹,然后select“添加项目到文件夹…” 。然后,向导将出现select要复制的文件(不需要一些文件和向导默认情况下会引导你)。
- 更改解决scheme文件的名称 (* .sln)
- 如果存在,则更改子项目的名称 。
- 使用Resharper更改绑定名称空间名称(我将自动执行安全的肮脏工作)。另一种方法是手动更改所有名称空间的新名称。
- 与方法名称相同的动作。
- 如果要更改,请检查解决scheme的属性 。
而已。 你准备好了!!!
根本不可能复制项目,因为像.csproj,.vspscc等内部形成的一些configuration文件可能(也很可能会)指向属于先前的解决scheme的位置和系统中的其他path/位置的引用TFS。 除非您是阅读这些文件和修复引用的专家,否则不要尝试复制项目。
你可以创build一个你打算复制的相同types的骨架项目,这会创build一个合适的.csproj,.vspscc文件。 现在您可以自由复制上一个项目中的类文件,脚本和其他内容,因为它们不会受到影响。 这将确保顺利构build和版本控制(如果您select对此感兴趣)
说完这一切之后,让我给你一个逐步复制项目的方法:
- 转到您要在解决scheme资源pipe理器中复制的项目,然后右键单击 。
- 现在select“ 在文件资源pipe理器中打开文件夹 ” (假设您已将解决scheme映射到磁盘上的本地path)。
- select要作为整个文件夹复制的项目(以及所有依赖项,bin .vspscc文件,.csproj文件)
- 将它们粘贴到您想要的位置(可能是您的解决scheme文件夹,甚至是另一个解决scheme文件夹,如果它位于相同的解决scheme文件夹中,则需要重命名该文件夹,并将.csproj和其他内部文件更改为新名称)。
- 不要回到Visual Studio, 右键单击解决scheme>添加>现有项目…
- 浏览并从您放置的位置select项目文件(.csproj文件),然后select“ 打开 ”
- 此文件现在出现在解决scheme资源pipe理器中供您使用。
您现在可能需要解决一些构build错误,可能是重复/缺less引用和东西,否则它就像您预期的那样在逻辑和结构上是原始的。
最好的方法是从头开始创build一个新的项目,然后进入你想复制的项目文件(project,form1,除了文件夹以外的所有东西)的文件夹。 重命名文件(除了form1文件)例如:我将Ch4Ex1文件复制到我的Ch4Ex2项目中,但首先将文件重命名为Ch4Ex2。 将这些文件复制并粘贴到Visual Studio中新项目的解决scheme资源pipe理器中。 然后只是覆盖文件,你应该很好去!
老线程,但我希望它可以帮助任何人寻找这个答案!
我有一个项目,其中源文件位于项目文件夹下的文件夹中。 当我复制没有源文件夹的项目文件夹,并打开复制的项目,源文件不会丢失,但在旧的位置find。 我closures了项目,复制了源文件夹,然后重新打开了项目。 现在,这个项目神奇地引用了复制的源文件(新path显示为“另存为”,并且文件的更改已经保存在复制的版本中)。
有一个警告:如果旧的和新的项目文件夹都不在旧的库文件夹下面,那么上面提到的魔术丢弃也是对库的绝对引用,并且期望它在相同的相对path下。
我试过VS Express 2012。
我的解决scheme有点不同 – 包所在的计算机死了,所以我不得不在另一台计算机上重新创build它。
我所做的(在VS 2008中)是在我的目录中打开以下文件:
- <package name>.djproj - <package name>.dtproj.user - <package name>.dtxs - <package name>.sln - Package.dtsx
当我这样做了一个popup式窗口问我是否sln文件将是一个新的解决scheme,当我点击“是”一切正常工作。
在尝试以上解决scheme并为MVC项目创build副本之后
对于MVC项目,请更新.csproj文件中的端口号,可以通过iis applicationhost.config来查看端口号。 相同的端口号将导致IIS中的程序集加载问题。