Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何克隆.NET解决方案?_.net_Visual Studio - Fatal编程技术网

如何克隆.NET解决方案?

如何克隆.NET解决方案?,.net,visual-studio,.net,Visual Studio,启动新的.NET项目总是需要一些工作。您必须创建解决方案,为不同层(域、DAL、Web、测试)添加项目,设置引用、解决方案结构、复制javascript文件、css模板和母版页等 我想要的是一种克隆任何给定解决方案的简单方法 如果使用“复制/粘贴”,问题是需要重新命名名称空间、程序集名称、解决方案名称、GUID等 有没有一种自动化的方法 像这样的东西会很棒: solutionclone.exe --solution=c:\code\abc\template.sln --to=c:\code\xy

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

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

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

有没有一种自动化的方法

像这样的东西会很棒:

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

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

正如您已经发现的那样:复制.sln文件并确保路径/GUID匹配

因为.sln是
text/plain
,所以只需使用您最喜欢的脚本语言编写克隆器脚本即可

也许现在是学习Python/Ruby/Perl的好时机/

我相信这可以让您做到这一点,但可能不是一种“简单”的方法


我和你有同样的问题,并打算“马上”详细研究它。

看看CodePlex,它为你创建了一个开发树

可能您应该检查预热开源项目。查找有关的简要说明

IMHO,预热方法的优点是它可以直接从SVN或GIT克隆整个树

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

我已经为此创建了一个小应用程序。它的工作原理与前面提到的Solutionclone应用程序类似,只是它既是一个命令行应用程序,也是一个WPF应用程序

Cloney将源文件夹复制到目标文件夹,无需任何Git或Svn集成。它还将用新名称空间(目标文件夹的名称)替换所有地方的旧名称空间(在文件名和文件中),并排除某些文件(例如*.suo、*.user、*.vssscc)和文件夹(例如,.git、.svn)

您可以在获取源代码或下载可执行文件


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

我知道这是一篇老文章,但我最近需要这样做,尽管有一些国产工具可以做到这一点,我想要一些更轻的东西,我可以随意扔到任何我喜欢的地方。因为我喜欢用python编写解释性语言脚本,所以我用python编写了一个文件工具来完成这项工作。它唯一的依赖项是python3和chardet2


您可以使用多项目模板来获得类似于解决方案的行为。文件夹结构将使所有项目的级别略低于.sln文件


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

在windows上?Powershell-甚至在您开始使用.NET程序集之前就已经具备了强大的功能(很高兴听到这个消息!)