【问题标题】:Adding project to solution through command line通过命令行将项目添加到解决方案
【发布时间】:2014-02-06 14:50:05
【问题描述】:

我有一个由多个测试项目组成的 Visual Studio 解决方案。每个项目都是模板项目的副本。复制模板项目时,会运行一个批处理脚本,该脚本会执行一些文件重命名并添加几个其他指定的文件。然后我想做的是在该过程中将项目添加到解决方案中。我在 MSDN 上查看 devenv 开关here,但我没有看到任何关于将项目添加到解决方案的信息。

是否可以通过命令行将项目添加到解决方案中?

谢谢

【问题讨论】:

  • 我已对我的答案进行了一些修改,希望对您有所帮助。

标签: visual-studio-2010 visual-studio


【解决方案1】:

如果您在 2019 年来到这里并使用 Asp.Net Core。方法如下:

dotnet sln yoursolution.sln add yourprojectpath/yourproject.csproj

希望这会有所帮助。

【讨论】:

    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

      对于 sln 文件,请尝试 this question。对于项目文件,您可以运行一些 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 将其添加到解决方案中呢?
      • 对不起,你是对的。 Look at this。无论如何,sln 都是文本,你可以添加一些你需要的内容。
      猜你喜欢
      • 1970-01-01
      • 2018-12-30
      • 1970-01-01
      • 1970-01-01
      • 2017-07-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-12
      相关资源
      最近更新 更多