在Visual Studio Blazor项目中设置起点

时间:2019-12-03 22:31:05

标签: asp.net-core routing blazor blazor-server-side

我正在VS2019中的服务器端3.0.100 blazor项目上工作。

我有几页。如果在调试时我可以启动非默认路由/页面以进行调试,则需要这样做。

在项目属性“调试”选项卡上尝试的操作:

1)设置启动浏览器的相对路径。如果我将其设置为“设备列表”,则该应用程序从localhost:44325 / equipmentlist开始,但显示根路由。如果然后我导航至设备列表页面,则URL更改为localhost:44325 / equipmentlist / equipmentlist,并显示正确的内容。

2)设置应用程序URL:与1具有相同的行为

每次点击调试时,我都希望为自己节省额外的点击次数。

编辑: “启动浏览器”设置更改了浏览器启动时显示的地址,但显示的内容仍然是默认路由。

即localhost:44325 / equipmentlist /显示在浏览器地址栏中,但仍显示“ /”页面中的内容。我必须导航到localhost:44325 / equipmentlist / equipmentlist才能看到所需的内容。

3 个答案:

答案 0 :(得分:1)

您需要修改项目launchSettings.json节点下的Properties文件,以便为launchUrl配置文件设置IIS Express,例如

"profiles": {
"IIS Express": {
  "commandName": "IISExpress",
  "launchBrowser": true,
  "launchUrl": "equipmentlist",
  "environmentVariables": {
    "ASPNETCORE_ENVIRONMENT": "Development"
  }
},
//...

答案 1 :(得分:1)

您有两种方法可以做到:

最简单的方法是打开项目属性,并在 Debug 面板中设置启动浏览器 URL:

enter image description here

这将为您更新 Properties \ launchSettings,json 文件。但是您当然可以手动编辑它。

{
...
  "profiles": {
...
    "Aguacongas.TheIdServer.BlazorApp": {
...
      "launchBrowser": true,
      "launchUrl": "equipmentlist",
...
    }
  }
}

答案 2 :(得分:0)

我遇到了同样的问题,偶然发现了您的问题。也许其他人会在这里找到一些帮助或解释:


经过一些测试,IIS Express 似乎无法进行探测。 没有使用 IIS Express,一切都按预期工作。

经过一些测试和搜索,我可以通过删除 .vs 文件夹来解决这个问题。


在此文件夹中,您可以找到 applicationhost.config。此文件控制您的项目的 IIS Express 应用程序。

在里面你可以找到一个应用的结。这里定义了将使用哪个应用程序池以及物理文件所在的位置。 如果您更改“launchSettings.json”中的“applicationUrl”,则会添加一个新结并导致此问题。即使你把“applicationUrl”改回来,结也不会消失!

<site name="Webapplication1" id="3">
    <application path="/" applicationPool="Webapplication1 AppPool">
      <virtualDirectory path="/" physicalPath="C:\source\repos\Webapplication1" />
    </application>
    <application path="/equipmentlist" applicationPool="equipmentlist AppPool">
      <virtualDirectory path="/" physicalPath="C:\source\repos\Webapplication1" />
    </application>
    <bindings>
      <binding protocol="http" bindingInformation="*:62461:localhost" />
      <binding protocol="https" bindingInformation="*:44381:localhost" />
    </bindings>
  </site>

要解决这个问题,只需删除错误的结就可以了。