如何克隆一个.NET解决方案?

12

开始新的.NET项目总是需要一些工作。您需要创建解决方案,为不同层(域,DAL,Web,Test)添加项目,设置引用,解决方案结构,复制JavaScript文件,CSS模板和主页面等等。

我想要的是一种简单的方式来克隆任何给定的解决方案

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

是否有一种自动化这个过程的方法?

像这样的东西就很好:

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

我知道Visual Studio有项目模板,但我还没有看到解决方案模板。

7个回答

7
我已经为此创建了一个小型应用程序。它的工作方式与之前提到的Solutionclone应用程序相同,但它既是命令行应用程序又是WPF应用程序。
Cloney将源文件夹复制到目标文件夹,不涉及Git或Svn的集成。它还会将新的命名空间(即目标文件夹的名称)替换旧的命名空间(在文件名以及文件内部)。同时,它也会排除某些文件(例如*.suo、*.user、*.vssscc)和文件夹(例如.git、.svn)。
您可以在https://github.com/danielsaidi/cloney上获取源代码或下载可执行文件。
Cloney还可以添加到Windows资源管理器的上下文菜单中,这样就可以通过右键单击.sln文件来克隆.NET解决方案了。

1
很高兴听到这个消息! :) - Daniel Saidi

2
如你已经发现:复制.sln文件并确保路径/全局唯一标识符匹配。
因为.sln文件是text/plain格式,所以可以使用你喜欢的脚本语言编写克隆器。
也许现在是学习Python/Ruby/Perl/Windows Script Host的好时机。 MSDN Solution (.sln) File Definition

5
在Windows上?Powershell-甚至在你开始使用.NET程序集之前就非常强大。 - Murph

1

看看 CodePlex 上的 Tree Surgeon,它可以为您创建一个开发树。


0

虽然这是一篇旧帖子,但我最近有需要做这件事情,尽管有几个自制工具可以完成它,但我想要更轻量级的东西,可以随时随地使用。由于我喜欢用Python进行解释性语言脚本编写,所以我用Python编写了一个单文件工具来完成这项工作。它只依赖于Python3和chardet2。

https://gist.github.com/4159114


0

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

您也可以实现自定义IWizard以获得完全控制权。


0

0

我相信Guidance Automation Toolkit可以让你做到这一点,但可能不是一种“简单”的方式。

我和你有同样的问题,并打算“真正很快”地详细研究它。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接