通过命令行将项目添加到解决方案

3
我有一个Visual Studio解决方案,由多个测试项目组成。每个项目都是模板项目的副本。当复制模板项目时,会运行一个批处理脚本,进行一些文件重命名并添加其他指定文件。然后我想在此过程中将该项目添加到解决方案中。我查看了MSDN上的devenv开关here,但没有找到任何关于将项目添加到解决方案中的内容。
通过命令行添加项目到解决方案是否可行?
谢谢
3个回答

6

如果你在2019年之后并且正在使用Asp.Net Core, 这里是实现的方法:

dotnet sln yoursolution.sln add yourprojectpath/yourproject.csproj

4
如果您不介意写一点PowerShell,那么这个问题就很容易解决了。首先,请阅读此问题及其答案。您会找到一个nuget包(Microsoft.SQLServer.Compact),其中包含用于通过对象模型自动化VS的PowerShell脚本。这是一个很好的起点,可以提供一些如何从PowerShell处理解决方案文件的示例。然后,您可以编写一个小的PowerShell脚本,使用SolutionFolder.AddFromFile将您的项目添加到解决方案中。使用StudioShell及其提供程序可能更容易,但我还没有尝试过。

-1
对于sln文件,请尝试这个问题。对于项目文件,您可以运行一些xslt或任何其他必要的转换进行编辑。例如,您可以创建MSBuild proj文件以在所需的sln文件上运行xslt转换,然后在cmd中运行它,如:MSBuild.exe MyProj.proj。MyProj.proj的示例内容如下:
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <Target Name="Transform">
    <TransformXml Source="Project.csproj" Transform="Transform.xml" Destination="New_Project.csproj" />
  </Target>
</Project>

我觉得我对某些事情感到困惑。项目文件是一个XML文件,我明白这一点。但解决方案文件不是。那么,在项目上调用MSbuild如何将其添加到解决方案中呢? - lucasbrendel
2
对不起,你是正确的。看这个。无论如何,sln是一个文本文件,你可以添加你需要的一些内容。 - lavrik

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