【问题标题】:Run a C# class library with IIS from the command line从命令行使用 IIS 运行 C# 类库
【发布时间】:2017-12-30 14:58:37
【问题描述】:

我有一个在 Visual Studio 中开发的 C# 解决方案。它有多个启动项目。

要在开发期间运行它,我单击 Visual Studio 中的“开始”按钮:

现在我正在从事自动化测试。我想在 ad hoc 环境中启动当前代码库,就像我在开发时所做的那样。我假设有某种方法可以从命令行执行此操作 - 某种方法可以从命令行执行“开始”按钮所做的相同操作。我该怎么做?

更新

感谢迄今为止做出回应的人。我的项目是一个类库,所以它在 bin/Debug 中输出 DLL。它通常使用 IIS 启动,因此我试图复制该行为。

【问题讨论】:

标签: c# visual-studio command-line automated-tests iis-express


【解决方案1】:

Start 的作用是

  1. 构建项目。
  2. 运行它。
  3. 附加调试器

我想你只关心 1. 和 2.

要构建项目,请在解决方案的文件夹中打开命令提示符并执行:

msbuild SolutionName.sln /t:ProjectName /p:Configuration=Debug

要运行项目,在同一命令提示符下,您可以执行:

cd ProjectName/bin/Debug
ProjectName.exe

显然,将SolutionNameProjectName 替换为您的项目参数,您可以将Debug 配置替换为Release

【讨论】:

    【解决方案2】:

    我将 .csproj 文件编辑为具有以下内容(请参阅this SO):

    <UseGlobalApplicationHostFile>True</UseGlobalApplicationHostFile>
    

    然后我重建并从命令行运行它:

    "C:\Program Files (x86)\IIS Express\iisexpress.exe" /site:WebSite1
    

    (其中WebSite1 是项目的名称),它似乎可以工作。

    Running IIS Express from the Command Line

    【讨论】:

      【解决方案3】:
      • 打开命令行(Win+R cmd)
      • 将文件夹 (cd XXXX) 更改为您的解决方案文件夹。
      • 将文件夹更改为 Debug 或 Release。
        根据您的项目名称,这些文件夹中应该是您的 exe 文件。
      • 输入应用程序的名称

      【讨论】:

        猜你喜欢
        • 2014-11-07
        • 2017-01-19
        • 1970-01-01
        • 2010-10-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多