【问题标题】:Create Visual Studio Solution from Batch File从批处理文件创建 Visual Studio 解决方案
【发布时间】:2014-02-05 15:16:38
【问题描述】:

Visual Studio 似乎包含一个解决方案文件 (*.sln) 以及一个或多个项目文件(C# 项目将具有 *.csproj 扩展名)。

我一直在玩一个控制台应用程序,它解析现有目录条目以创建具有相关项目文件的解决方案文件。

它可以工作,但是每次我在工作中遇到一个新项目时,我都会发现自己要花费一周或更长时间来调试我的控制台项目,以便它可以为该特定工作项目生成解决方案。

是否已经有一些东西可以从现有的文件结构中创建 VS 解决方案?

从我下面的屏幕截图中可以看出,这些项目嵌套得很深,因此使用“鼠标”技术在下面的 apps 文件夹中执行此操作需要很长时间在 Visual Studio IDE 中。

【问题讨论】:

  • 您是否考虑过编写自定义应用程序向导?
  • 我不确定我是否理解。我认为我已经花费了几个星期的 VS 控制台应用程序是一个自定义应用程序向导。你还有别的意思吗?
  • 可能。 Visual Studio 通过其DTE object model 公开其内部项目创建框架。实际上,您为解决方案创建了模板文件,它出现在“新建项目”对话框中。那是你一直在使用的吗?
  • 如果你有时间,我会投资使用 DTE 框架。我创建了一个自定义向导,当您需要扩展模板时,它很容易扩展。
  • 几年前我为此写了一个工具;你可以在我的 Boost 许可的 CxxReflect 库中找到它:cxxreflect.codeplex.com/SourceControl/latest#utility/…

标签: visual-studio-2010 visual-studio batch-file


【解决方案1】:

我创建了发布在这篇文章中的自定义控制台应用程序:

https://stackoverflow.com/a/22153536/153923

不过,我邀请其他人分享他们是如何解决此解决方案的。

【讨论】:

    【解决方案2】:

    所以,我今天发现这个功能已经存在于 Visual Studio 中了。

    链接1:How to: Create a Project from Existing Code Files

    链接2:How to: Create a Project from Existing Code Files

    不过,它基本上是这样说的(以防 MSDN 链接被更改或删除):

    您可以从现有应用(例如,从在线资源获得的应用)创建 Visual Studio 项目。在您的计算机上创建项目和解决方案文件,并添加其他相关文件。可以从 Visual C++、Visual Basic 或 Visual C# 代码文件创建项目。

    安全说明 安全说明 我们建议您在将现有代码文件导入 Visual Studio 之前确定其可信度,因为当您打开新创建的项目时,Visual Studio 会在完全受信任的进程中执行部分代码。

    从现有代码文件创建项目

    1. 在菜单栏上,选择File、New、Project From Existing Code

    从现有代码文件创建新项目向导打开。

    1. 使用向导指定将添加到项目中的现有代码文件的详细信息以及在构建项目时将创建的应用程序。

    Visual Studio: Create a web application from existing code 中的另一个good answer was given by cbp

    --

    好的,我想通了。这很奇怪,但以下步骤会起作用:

    1. 打开 Visual Studio 的新副本
    2. 文件->新建项目,选择Web应用程序
    3. 使用以下设置:

      名称:网站 (这是包含网站文件的现有文件夹的名称) 位置:C:\Temp\ (现在任何地方都可以) 解决方案名称:TheProject(现有项目的根文件夹的名称) 勾选“为解决方案创建目录”

    4. 删除自动创建的默认、全局和 Web.config 文件

    5. 全部保存并关闭 Visual Studio
    6. 在 Windows 资源管理器中,将新文件夹复制到现有文件夹的顶部,以便合并文件。

    7. 双击 sln 文件再次打开 Visual Studio。

    8. 选择“显示所有文件”(在解决方案资源管理器的顶部)

    9. 右键单击要添加的任何文件或文件夹,然后选择包含在项目中

    好主意!

    【讨论】:

      猜你喜欢
      • 2011-04-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-13
      • 2010-10-16
      相关资源
      最近更新 更多