我有一个正在 visual studio 中编辑的 C# 项目。当我单击绿色开始按钮时,它会构建项目、启动 IIS,然后打开浏览器窗口。
如果我想自定义此行为,例如同时启动一个位于 IIS 前面的 nginx 反向代理,我该怎么做?
我还想知道在单击开始按钮和打开浏览器窗口之间的过程中涉及哪些技术。
最佳答案
当您单击“绿色按钮” 时会发生很多事情。主要有:
- 如果未运行 - Visual Studio (默认情况下) 启动 IIS Express - IIS 网络服务器的精简版
- 向其发布您的项目
- 附加调试器
- 使用您的项目 URL 打开浏览器
我假设您只对自定义第 4 步感兴趣。单击“绿色按钮” 旁边的向下小箭头打开上下文菜单,单击浏览方式...
。
您可以从 Visual Studio 检测到的 Web 客户端列表中进行选择。单击 Add...
,您将看到一个窗口以添加您自己的客户端。在那里,您可以将 Visual Studio 指向任何东西 - nginx,您可以使用 C# 轻松制作的自定义启动器(如您的示例所示,它可以启动 nginx,或执行任何类型的操作)、PowerShell 脚本等。
注意:传递给应用程序的last 参数将是您的项目URL,您添加的任何其他参数都将放在它之前。如果您将参数留空,它仍会将您的项目 URL 作为唯一参数传递。
一个更简洁的解决方案是编写一个 Visual Studio 插件,虽然我对此了解不多 - 如果您决定沿着这条路走下去,您可以开始您的研究 here .
不确定这是否与您相关,但您也可以选择 Visual Studio 应将您的项目发布到哪个 IIS 服务器。转到您的项目“属性”>“Web”,在“服务器”下您可以选择目标 IIS 服务器和项目 URL。
关于c# - 如何修改 visual studio 中绿色开始按钮的作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35938669/