如何克隆.NET解决方案?

时间:2008-10-03 09:37:56

标签: .net visual-studio

启动新的.NET项目总是需要一些工作。您必须创建解决方案,为不同的层添加项目(域,DAL,Web,测试),设置引用,解决方案结构,复制javascript文件,css模板和母版页等。

我想要的是克隆任何给定解决方案的简单方法

如果您使用复制/粘贴,问题是您需要重命名命名空间,程序集名称,解决方案名称,GUID等。

有没有办法实现自动化?

这样的事情会很棒:

solutionclone.exe --solution=c:\code\abc\template.sln --to=c:\code\xyz --newname=MySolution 

我知道Visual Studio有项目模板,但我没见过解决方案模板。

7 个答案:

答案 0 :(得分:7)

我为此创建了一个小应用程序。它的工作方式与之前提到的Solutionclone应用程序类似,不同之处在于它既是命令行应用程序,也是WPF应用程序。

Cloney将源文件夹复制到目标文件夹,不进行任何Git或Svn集成。它还将使用新命名空间(目标文件夹的名称)替换旧命名空间(文件名和文件内),并排除某些文件(例如* .suo,* .user,* .vssscc)和文件夹(例如.git,.svn)。

您可以在https://github.com/danielsaidi/cloney获取源代码或下载可执行文件。

也可以将Cloney添加到Windows资源管理器上下文菜单中,这样就可以通过右键单击.sln文件来克隆.NET解决方案。

答案 1 :(得分:2)

如您所知:复制.sln文件并确保路径/指南匹配。

因为.sln是text/plain,所以只需使用您喜欢的脚本语言来编写一个克隆程序。

也许这是学习Python / Ruby / Perl / Windows Script Host

的好时机

MSDN Solution (.sln) File Definition

答案 2 :(得分:1)

在CodePlex上查看Tree Surgeon,它会为您创建一个开发树。

答案 3 :(得分:0)

我相信Guidance Automation Toolkit允许你这样做,但可能不是一种“简单”的方法。

我遇到了和你一样的问题,并打算详细查看“现在很快就会发现”。

答案 4 :(得分:0)

可能应该检查预热开源项目。在http://devlicious.com/blogs/rob_reynolds/archive/2010/02/01/warmup-getting-started.aspx上找到简要说明。

恕我直言,预热方法的优点是它可以直接从SVN或GIT克隆整个树的解决方案。

请注意!我没有亲自使用它,但计划在下一个项目中试一试。 如果您使用它,请发表评论。

答案 5 :(得分:0)

老帖子,我知道,但我最近需要这样做,虽然有几种本土工具可以做到这一点,但我想要一些更轻巧的东西,我可以在任何我想要的地方折腾。因为我喜欢python用于解释语言脚本,所以我在python中编写了一个单独的文件工具来完成这项工作。它唯一的依赖是python3和chardet2。

https://gist.github.com/4159114

答案 6 :(得分:0)

您可以使用多项目模板来获得类似行为的解决方案。文件夹结构稍微偏离,将所有项目放在.sln文件下面的一个级别。

您还可以实现自定义IWizard以完全控制。