当启动应用程序是控制台应用程序时,防止iisexpress在解决方案中运行网站

时间:2014-06-20 15:36:03

标签: c# visual-studio visual-studio-2013 iis-express solution

我有一个包含许多项目的解决方案。即使我将web项目的启动选项设置为:

  1. 不要打开一个页面。等待来自外部应用程序的请求。
  2. 使用自定义网络服务器。基本网址:http://localhost
  3. 启动项目:

    1. 单一启动项目
    2. 选择控制台应用程序(不是网站)
    3. 当我按开始调试时,IIS express启动(显示在任务栏上)。如何阻止IIS Express启动?我只运行控制台应用程序,并且不希望IIS Express运行。

      事实上,解决方案中的所有网站都在IIS中启动,并且它们不必要地消耗我机器上的资源。

5 个答案:

答案 0 :(得分:52)

执行此操作的简便方法:在Web项目的属性中设置F4(不是右键单击 - >属性)设置"始终在调试时启动"为假

enter image description here

答案 1 :(得分:5)

在物业页面 - >开始选项:设置开始操作="不要打开页面...&#34 ;;设置服务器 - >使用自定义服务器并将基本URL留空。

答案 2 :(得分:0)

对于Visual Studio 2013,我将其配置如下:

开始动作:不要打开页面。

服务器:外部主机

项目网址:http://NotAStartupApp/

答案 3 :(得分:0)

我在Windows中卸载了IIS Express,它对我有用。从VS发布我的文件后,我的设置自动更改为指向IIS Express,无论如何,我的网站项目都不会更改为IIS。希望这适用于某人。

答案 4 :(得分:0)

要扩展@Aleksey L.的答案,您实际上可以使用纯文本编辑器(例如记事本)来完成此操作。

projectname.csproj.user文件中,确保AlwaysStartWebServerOnDebug节点的值设置为False

projectname.csproj.user

<Project >  
  <ProjectExtensions>
    <VisualStudio>
      <FlavorProperties>
        <WebProjectProperties>
            ..          
          <AlwaysStartWebServerOnDebug>False</AlwaysStartWebServerOnDebug>
            ..          
        </WebProjectProperties>
      </FlavorProperties>
    </VisualStudio>
  </ProjectExtensions>
</Project>

或者,要在没有文本编辑器的情况下执行此操作,可以使用Powershell

$file = 'projectname.csproj.user'
$x = [xml] (Get-Content $file)
$x.Project.ProjectExtensions.VisualStudio.FlavorProperties.WebProjectProperties.AlwaysStartWebServerOnDebug = 'False'
$x.Save($file)