Blazor项目在VisualStudio调试时配置运行基础目录
最近在使用 Blazor 开发管理后台时遇到了如下的问题,我这里后台整体采用了 AntDesignBlazor 组件库,在上线之后发现ReuseTabs组件在使用过程中,如果默认 / 没有指定为项目的base href,打开标签页后,相互切换会导致url错误。
本地开发的时候项目是直接启动运行的,所以访问目录为 https://localhost:port/ ,Blazor 的 base 值也是默认的 / 。
但是当项目实际上线发布的时候,我将 Blazor的项目部署到了一个域名的子目录下。如 https://domain.com/consoul/ ,也就是部署在了网站的 consoul 目录中,在实际运行时就发现了上面的问题。

项目上线时因为是挂在一个域名的子路径下,所以调整了 base href 为 /consoul/ 然后在运行时 tab page 都可以打开,但是切换时 url 会丢失 base href 的值,导致 404


这是当时提交的 issues
https://github.com/ant-design-blazor/ant-design-blazor/issues/2860
在解决这个问题的过程中,因为这个问题在本地开发时时不会产生的,因为我们本地项目默认运行的时候并没有配置二级目录,启动的时候直接是 https://localhost:port/ 这样的形式,标签页直接调转的时候因为没有二级目录的存在,项目直接运行与根目录下则也不存在问题,不好调试,为了模拟出类似线上二级目录的环境,在经过一番折腾之后找到了如下的方法。
选中我们的 Blazor 项目右击属性,然后在左侧找到 调试-常规 ,点击打开调试启动配置文件UI

然后在命令行参数中输入,--pathbase=/consoul

然后找到 Blazor 项目的 index.html 文件同时调整 <base href="/consoul/" />

保存更改之后直接 Ctrl + F5 启动项目,即可看到类似如下的界面

因为我们调整了网页项目的运行基础目录所以此时 https://localhost:port/ 的根目录下已经没有页面了,提示我们需要访问 /consoul

可以看到我们本地的项目已经和线上一样可以运行在 /consoul/ 子目录中了。
然后就可以模拟线上的运行情况进行调试了,该 bug 目前已修复,
https://github.com/ant-design-blazor/ant-design-blazor/pull/3142
https://github.com/ant-design-blazor/ant-design-blazor/pull/3153
至此关于 Blazor项目在VisualStudio调试时配置运行基础目录 就讲解完了,有任何不明白的,可以在文章下面评论或者私信我,欢迎大家积极的讨论交流,有兴趣的朋友可以关注我目前在维护的一个 .NET 基础框架项目,项目地址如下
https://github.com/berkerdong/NetEngine.git
https://gitee.com/berkerdong/NetEngine.git
Blazor项目在VisualStudio调试时配置运行基础目录的更多相关文章
- [调试]VS2013调试时提示“运行时当前拒绝计算表达式的值”
VS2013 下单元测试调试时遇到的问题,以前倒从未遇到过. 中文关键字在百度和谷歌中搜索均无果. Google 下搜索 “The runtime has refused to evaluate th ...
- 黄聪:VS2017调试时提示“运行时无法计算表达式的值”
具体操作: 工具-选项-调试-常规,选中“使用托管兼容模式”,问题解决
- VS2010 F5调试时出现:“ 尝试运行项目时出错:未捕获通过反射调用的方法引发的异常”解决
VS2010 F5调试时出现 尝试运行项目时出错:未捕获通过反射调用的方法引发的异常 两个解决方法:1) 打开项目属性,选择调试选项卡,将“启用非托管代码调试”一项钩上.2) 打开项目属性,选择调试选 ...
- Android项目中独立Git项目分库后的编译调试时Gradle的配置
基于AS开发项目,对于特定的功能模块,往往抽取成独立的库进行管理,然后上传到Marven库中,通过Gradle依赖的方式进行引用. 其优势体现在: 1,独立的Git项目库,模块功能,及职责界定清晰: ...
- ASP.NET+MVC入门踩坑笔记 (一) 创建项目 项目配置运行 以及简单的Api搭建
哈喽各位 我又回来了! 前段时间研究了下ASP.NET,刚开始也是随便找网上的各种教程来看,但是鉴于本人技术有限,还是走了相当长的一段弯路的.所以我写下了这篇文章.希望各位刚刚入坑的ASP.NET开发 ...
- 献给那些每次调试时都要启动很多WEB项目的苦逼程序猿
当一个解决方案包含多个WEB项目的时候,只要按F5调试,其它用不着的WEB项目也会自动添加到托盘里.很多新手都不知道如何解决这个问题,我也是刚知道. 在网上找了很多资料看到有2种解决方法: 1.把WE ...
- Xcode 运行时配置
有时候,我们的app在测试时需要连接到一个testing服务器,在打包为企业证书的app时又需要连接到另一个ad hoc 服务器,或者我们想企业证书打包的app和debug模式打包的app有不同的AP ...
- VS调试时同时启动多个项目解决方法
选中要设置的项目,不要右击里面的属性,而是按f4时显示属性,下面总是在调试时启动设为false.
- win7,vs2010,asp.net项目中修改外部js文件,在调试时加载的还是旧文件
win7,vs2010,asp.net项目中修改外部js文件,在调试时加载的还是旧文件 我杀过 w3wp.exe和asp.net_state的进程,重启 iis admin的服务,都还是不行. 只是把 ...
- 部署网站: 配置项目到iis上运行报目录错误
配置项目到iis上运行报目录错误 以下三种方法可使用: 1.添加文件访问权限 everyone (线上环境慎用) 2.重新注册iis 3.web.config 加一段话 在<system.we ...
随机推荐
- 第八章 mysql的主从复制
mysql的主从复制 一 主从复制搭建 1. 准备三台主机 (这个是多实例) 3307 master3308 salve13309 salve2 2. master 节点设置 [mysqld] lo ...
- ubuntu ssh远程访问出现Permission denied(publickey,password)解决方法
windows上安装SSH服务设置–>应用–>可选功能–>添加功能–>安装 OpenSSH服务器 和 OpenSSH客户端在左下角搜索栏输入服务,将相关SSH服务设置为自动(延 ...
- python菜鸟学习: 9. 文件操作
# -*- coding: utf-8 -*-import sys, time# 读文件:一次性读取所有内容#r=readf = open("singe.txt", 'r', en ...
- 第一次写代码(Hellowold)
Helloword 新建一个code文件夹,存放代码 新建一个hava文件 文件后缀名为java 编写代码 java 1. public class Hello{ public static ...
- spring-security-oauth2-authorization-server
旧依赖的移除 长久以来,使用Spring Security整合oauth2,都是使用Spring Security Oauth2这个系列的包: <dependency> <group ...
- iOS设置textView的placeholder
转载:http://blog.sina.com.cn/s/blog_7a1b23430102wkys.html #import "ViewController.h" @interf ...
- centOS6设置网络
一.配置网络模式为桥接模式 1.点击"编辑"->"虚拟网络编辑器" 2.配置NAT 3.配置DHCP 二.进入centos系统设置网络 [root@loc ...
- Jetpack compose学习笔记之ConstraintLayout(布局)
一,简介 Jetpack compose中没有提供ConstraintLayout支持,所以需要添加下面的依赖来导入. // build.gradle implementation "and ...
- Java基础Day4-Java方法
一.方法的定义 Java的方法类似于其它语言的函数,是一段用来完成特定功能的代码片段. 方法包括一个方法头和一个方法体. 修饰符 返回值类型 方法名(参数类型 参数名){ 方法体 ...
- Windows修改用户名
修改用户名 右键此电脑>>管理>>本地用户和组>>用户,找到要修改的用户,重命名 修改用户home目录名 1.激活管理员账号 右键此电脑>>管理> ...