代码之家  ›  专栏  ›  技术社区  ›  sarsnake

Visual Studio副本项目

  •  106
  • sarsnake  · 技术社区  · 15 年前

    我想复制我的项目。我不想从零开始添加文件和引用等。请注意,我不是指为了部署而复制。只是简单的复制。

    在vs中有工具可以做到这一点吗?我正在使用vs 2008

    9 回复  |  直到 6 年前
        1
  •  124
  •   Mitchel Sellers    15 年前

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

        2
  •  55
  •   Johan    6 年前

    只是 create a template ;

    从您选择的项目:项目-导出模板

    向导将允许您定义

    • 模板名称
    • 模板说明
    • 偶像
    • 预览图像

    然后,它将您的项目压缩到“我导出的模板”目录中。 创建新项目时,您还可以使用_选项_使_模板可用_。

    当您使用模板创建一个新项目时,名称空间对于每个文件中的“您的新项目名称”都是正确的,所有引用都是正确的,所有的Perfecto:。

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

    我制作了一个ASP.NET MVC模板,其中文件夹、布局页、视图模型等按我喜欢的方式排列。

    注:
    如果项目中有一个空文件夹,它将不会被添加到模板中,因此我只添加了一个适合每个文件夹的空类,以及一个图像文件夹的示例图片。

        3
  •  6
  •   quip    13 年前

    我想如果这是你经常做的事情,有一个小的(非免费的)实用程序承诺为你做:我没有使用它,所以不确定它有多好:

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

    还有一个关于codeplex的项目:

    http://clone.codeplex.com/

    我可能会给codeplex项目一次尝试,如果它不起作用,我会手动重命名所有东西并编辑sln文件。

        4
  •  3
  •   Giannis Grivas    10 年前

    我遵循这些步骤并使用名为 Resharper 顺便说一下,这太棒了:

    所以,

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

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

        5
  •  3
  •   Vikram K    8 年前

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

    可以创建与要复制的类型相同的骨架项目,这将创建一个适当的 .csproj,.vspscc 文件夹。现在您可以自由地从上一个项目复制类文件、脚本和其他内容,因为它们不会受到影响。这将确保平稳的构建和版本控制(如果您对此感兴趣的话)

    说了这么多,让我给你一个复制项目的方法,不管怎样,都是循序渐进的:

    1. 转到要在解决方案资源管理器中复制的项目,然后 右击 .
    2. 现在选择 在文件资源管理器中打开文件夹 (假设您的解决方案映射到磁盘上的本地路径)。
    3. 选择要作为整个文件夹复制的项目(以及所有依赖项bin.vspsc文件.csproj文件)
    4. 将它们粘贴到所需的位置(可以是同一个解决方案文件夹,甚至是另一个解决方案文件夹)。如果它在同一个解决方案文件夹中,则需要将它以及.csproj和其他内部文件重命名为新名称)。
    5. 不,返回到Visual Studio, 右键单击“解决方案”>“添加”>“现有项目”…
    6. 现在从放置项目文件的位置浏览并选择该文件(.csproj文件),然后选择' 打开
    7. 此文件现在显示在解决方案资源管理器中,供您使用。

    现在您可能需要解决一些构建错误,可能是由于引用和内容重复/丢失,但否则它在逻辑和结构上与您预期的一样原始。

        6
  •  1
  •   Alperon    12 年前

    最好的方法实际上是从头开始创建一个新项目,然后使用要复制的项目文件(Project、Form1、除文件夹之外的所有内容)进入该文件夹。 重命名文件(form1文件除外),例如:我将ch4ex1文件复制到ch4ex2项目中,但首先将文件重命名为ch4ex2。 在Visual Studio中将这些文件复制并粘贴到新项目的解决方案资源管理器中。 那么,只要覆盖文件,你就可以走了!

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

        7
  •  0
  •   Rainald62    8 年前

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

    有一个警告:如果旧的和新的项目文件夹都不在已用的库文件夹下面,那么上面提到的magic也会丢弃对库的绝对引用,并期望它位于相同的相对路径下。

    我在2012年的vs Express上尝试过。

        8
  •  0
  •   Brian    7 年前

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

    我所做的(在vs 2008中)是在我的目录中打开以下文件:

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

    当我这样做的时候,一个弹出窗口问我SLN文件是否会是一个新的解决方案,当我点击“是”时,一切都很好地工作。

        9
  •  0
  •   Ganesh Vellanki    7 年前

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

    对于MVC项目,请更新.csproj文件中的端口号,您可以在IIS applicationhost.config的帮助下检查端口号。相同的端口号将导致IIS中的程序集加载问题。