我有很多项目,而且我没有掌握所有内容的主解决方案。我想要的原因是重构。
所以我想知道是否有人知道自动构建解决方案文件的方法。手动添加所有项目是不可行的。
答案 0 :(得分:9)
我现在更新了我的实用程序(如上所述)以支持创建解决方案文件夹: http://bloggingabout.net/blogs/vagif/archive/2009/12/03/utility-to-generate-solution-files-can-now-create-solution-folders.aspx
答案 1 :(得分:3)
Vagif Abilov写了一个很棒的实用程序,它将从项目文件中生成一个解决方案文件。如果您为那些不相信解决方案文件的人工作,那真是太棒了。啊。
GenerateSolutionFile.exe
用法:GenerateSolutionFile / p / s [/ i includeFilter] [/ e excludeFilter]
答案 2 :(得分:2)
您可以尝试this(以下代码来自此网站,所有网站中的代码..)
但如果它不起作用并且调试需要花费太多时间,我建议一次手动添加它们。只要放一些好音乐就可以了...... :)
@oefe我不认为VS.NET允许你将D& D项目转化为解决方案,我曾尝试过一次。
Imports EnvDTE
Imports EnvDTE80
-----------------------------------------------------------------------------------
Private Shared Sub DoStuff()
Dim filePath As String = "c:\temp"
Dim fileName As String = "bld_TestApp.sln"
Dim fullName As String = Path.Combine(filePath, fileName)
Dim objType As Type
Dim objDTE As EnvDTE.DTE
objType = Type.GetTypeFromProgID("VisualStudio.DTE.8.0")
objDTE = DirectCast(System.Activator.CreateInstance(objType), EnvDTE.DTE)
Console.WriteLine(objDTE.Name + ":" + objDTE.Version)
objDTE.Solution.Create(filePath, fileName)
objDTE.Solution.AddFromFile("C:\Common.vbproj")
objDTE.Solution.SaveAs(fullName)
End Sub
答案 3 :(得分:1)
在2018年,您可以使用dotnet sln
命令将项目添加到现有解决方案中,并使用dotnet new sln
创建新解决方案。
要从当前文件夹添加所有项目,请在PowerShell中使用以下命令
dotnet new sln
Get-ChildItem -Recurse *.csproj | ForEach { dotnet sln add $_.FullName }
答案 4 :(得分:-2)
查看nAnt,Ant的.NET端口。它有能力做这样的事情,或者在没有它的情况下进行构建。
答案 5 :(得分:-2)
我已经以编程方式使用文本操作为.vcproj文件创建了解决方案文件(但cs / vb的工作原理相同)。如果你在记事本或其他任何地方打开一个解决方案文件,要弄清楚如何去做并不是很难。
不幸的是,我无法提供代码,因为它是专有的。
答案 6 :(得分:-3)
创建一个空解决方案,然后拖动&立即将所有项目放入其中?