首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

dotnet 调试应用启动闪退的方法

如果应用启动失败,可以开发环境复现,那无疑是十分好的事情,因为咱可以使用开发环境强大的 VisualStudio 调试工具进行调试 使用 VisualStudio 调试应用启动失败 在有符号的配合下...但是当前是调试启动失败,启动失败可能是库的锅,需要调试发布的程序集,推荐关闭仅代码调试。...关闭的方法是 VisualStudio 的 工具-> 选项 -> 调试 里面,去掉 启用“仅代码” 的选项 完成配置之后, VisualStudio 里面,选择刚才创建的新配置作为启动项进行启动...的帮助下快速定位到为什么启动失败 但是如果应用只是在用户的设备失败,那就没那么好玩了,接下来将告诉大家如何调试用户端的应用启动失败 使用 dnSpy 调试应用启动失败 在用户的设备,如果应用启动失败了...不能说明是应用自己写了逗比代码,也不能证明是系统环境问题,也不能证明是调用库的问题。想要了解为什么,只能继续往下进行调试 通过 dnSpy 神器可以辅助在用户端进行调试。

1.7K10

VisualStudio 如何快速添加一个 Git Tag 推送

而我接到一个很古老的项目需要修复某个坑,此时这个项目引用了一个底层库的古老版本,此时不能升级底层库,应该底层库的改动量太大了。...为什么会鼓励这样做?原因是有小伙伴说的某个项目的开发依赖某个库,但是假设这个库一定是合并到主分支之后才能打出 Tag 打包,也就是小伙伴某个项目代码将一直不能推送。...,但是实际最后发布的时候更改了公开方法,此时回滚到这个 commit 虽然能下载到 NuGet 库,但是发现 L 库的公开方法不匹配,构建失败 这就是为什么选用推送 Tag 打包的原因,允许小伙伴自己选择预览版的版本推送...,自动打包,这样就可以项目使用此Tag 打出的预览版的代码。...此时的 commit 其他小伙伴也能构建,回滚代码的时候也可以公共服务器找到 NuGet 包或切换到对应版本的源代码 更多请看 VisualStudio 2019 新创建项目添加 git 仓库

1.2K10
您找到你想要的搜索结果了吗?
是的
没有找到

WPF 通过 Windows Template Studio 快速搭建项目框架和上手项目

搭建出来的框架比较现代化,适合想要快速开发一个项目的大佬使用,也适合小白入门学习如何开发应用 通过 Windows Template Studio 工具,可以 VisualStudio 提供的可视化选项里面...接下来要做的是在此搭建好的框架上进行逻辑更改,加上自己的业务功能 下面让一步步告诉你如何使用 Windows Template Studio 工具 开始之前,需要给 VisualStudio 安装上...打开 VisualStudio 首页新建项目可以看到添加的模版, Windows Template Studio 工具不仅包含了 WPF 项目的,还包含了 UWP 等项目的,本文只使用 WPF 作为例子...代码 回答上面代码为什么通过切换到 MainViewModel 即可自动到主页面。...,搭建出来一个能用的框架 以上的代码放在 github 和 gitee 欢迎访问 可以通过如下方式获取本文的源代码,先创建一个空文件夹,接着使用命令行 cd 命令进入此空文件夹,命令行里面输入以下代码

1.1K50

WPF 使用 Composition API 做高性能渲染

因为这个项目现在还是预览的,要做好使用命令行编译,一开始发现了这个项目使用的是以前的 csproj 格式,同时也没法直接在 VisualStudio 2019 里面编译成功,于是将这个项目格式修改为新的格式...,通过命令行还原编译之后就可以 VisualStudio 2019 调试了。...,先通过命令行还原编译 // 先进入 HelloComposition.sln 所在的文件夹 dotnet restore // 还原可能失败,如果发现还原失败可以使用 [收集的各种公有 NuGet...如果编译失败,欢迎加入dotnet 职业技术学院交流 运行可以看到下面图片 ? 项目主要代码 那么代码是如何写的?...,也就是 CompositionHost 控件的 Bounds 范围内,是不能使用其他的 WPF 控件的。

2K20

dotnet 配置 Gitlab 的 Runner 做 CI 自动构建

为什么需要使用 Gitlab 的 Runner 做自动构建,原因是之前是用的是 Jenkins 而新建一个底层库项目想要接入自动构建等,需要来回 Gitlab 和 Jenkins 配置,大概步骤差不多有...于是就和头像大人商量使用虚拟机环境的方法,空闲的服务器安装了 VirtualBox 虚拟机,然后虚拟机部署 Runner 接着项目接入,这样就可以确定打包的环境,同时迁移服务器也比较方便 团队内负责团队各个项目用到的...打包失败 虚拟机是用的是 nat 方式,建议使用桥接方式让 gitlab 和虚拟机相同局域网 虚拟机里面的 runner 使用服务运行,也就是访问不到用户变量和用户路径的文件 首先在服务器安装 VirualBox...如果有关注的博客的小伙伴就会发现其实本文是分两次写的,因为开始使用了 dotnet 没有发现问题,而后续用到了 msbuid 就发现了这个坑 如果已经安装上了 Runner 可以执行下面代码卸载 ....用到了一个 NuGet 包,发现这个包有问题如何拿到这个包的代码?这是最大的坑。

2.2K20

WPF 框架开发 调试和开发 XAML 构建过程的 PresentationBuildTasks 方法

,只是这里面的代码构建需要做一些配置 给大家提供了的版本,此版本包含了 PresentationBuildTasksTest 测试项目本身,使用方法是将我的代码拉到你的本地。...而失败 构建时将会弹出 VisualStudio 附加进程调试窗口,选择使用 PresentationBuildTasksTest.sln 所在的 VisualStudio 进行调试,下一步按下 F10...就可以看到 PresentationBuildTasks 的源代码 获取以上调试版本的方法是先创建一个本地源代码文件夹,此文件夹是一个空文件夹,用来从 GitHub 拉我的代码。...文件,以及从 WPF 项目里面拷贝的 PresentationBuildTasks 代码。...对比放在 WPF 项目的 PresentationBuildTasks 的代码提供的测试代码是没有 WPF 项目的依赖的,不仅构建方便,同时构建速度也快 当然缺点是没有更 WPF 的源代码版本,需要大家自己手动去拷贝最新的代码

63930

.net持续集成单元测试篇之单元测试简介以及visual studio中配置Nunit使用环境

单元测试与集成测试的区别 单元测试与集成测试最大的区别在于:集成测试依赖于一个或多个真实的模块,当运行集成测试时,出现失败的情况后你并不能立即判断是哪里出了问题,因此找到缺陷的根源会比较困难。 ?...由上面的两个图中可以看出TDD与传统开发模式的区别:先编写一个会失败的测试,然后创建产品代码,并确保这个测试通过,接下来是重构代码或者创建另一个会失败的测试。...需要注意的是如果使用VisualStudio自带的测试工具,还需要安装Nunit.Console 编写第一个单元测试 我们刚才新建的项目中添加一个名为FirstUnitTest的项目 我们要引入using...小技巧-快速定位到错误方法:实际工作中,随意项目的深入,测试方法会越来越多,我们写完一个测试方法后然后点击测试,这样不会有什么问题,然后实际情况是随着测试方法积累越来越多,我们日后要运行单元测试的时候往往是点击整个单元测试项目运行...单元测试调试 通过以上状态我们知道我们的单元测试失败了,为什么失败很简单3+4*5/2不等于0,但是很多时候有些结果不是这么显而易见的,我们需要借助单步调试来发现错误,如何对单元测试进行调试呢?

3.3K30

VisualStudio 调试时会不断刷新 WPF 应用渲染

因此在编写效果,需要在干掉 VisualStudio 调试看一下效果 本文所有代码放在 github 和 gitee 欢迎小伙伴访问 可以通过如下方式获取本文的源代码,先创建一个空文件夹,接着使用命令行...cd 命令进入此空文件夹,命令行里面输入以下代码,即可获取到本文的代码 git init git remote add origin https://gitee.com/lindexi/lindexi_gd.git...文件夹 通过调试 VisualStudio 和 WPF 的源代码可以了解到为什么附加调试的时候将会不断刷新 WPF 里面,大部分的界面刷新都由 MediaContext.PostRender 触发...因为 VisualStudio 代码是没有开源的,也不想去了解细节,因此本文只是告诉大家 VisualStudio 有这个行为 VisualStudio 调试工具更新依赖属性的时候,将会触发元素的重新布局...这就是为什么通过 VisualStudio 附加调试的时候,将会不断刷新 WPF 渲染的原因 此问题在 GitHub 也有小伙伴问,详细请看 WriteableBitmap performance increase

60860

asp dotnet core 从零开始创建一个 WebApi 服务

安装完成之后,打开一个 cmd 控制台,输入 dotnet --info 确定安装成功 如看到有输出信息说版本是多少,那么就是安装成功了 接下来输入下面命令创建一个 WebApi 项目。...webapi -o FarbenergarWacerabe 这里的 FarbenergarWacerabe 就是要创建项目名,可以随意命名,但是推荐不要太诡异,如果发现创建失败了,自然就知道哪些命名不能作为项目名...通过 cd 命令进入到刚才创建项目里面 cd FarbenergarWacerabe 然后将创建出来的项目先开跑 dotnet run 恭喜,现在一个 WebApi 服务就创建完成了。...,作为 docker 发布,使用之前请安装 docker desktop 应用,可以从他的官网下载,虽然下载速度也是超级慢 如果在创建项目开始的时候有选择开启 docker 支持,那么默认就会创建 dockerfile...接着就可以通过命令行输入 docker image list 找到刚才创建的 image 了,此时如何推送 docker 和如何发布本文就不多说了,小伙伴自己百度去 的网站写完成了之后,此时想要让外网访问可以如何做

1.3K20

dotnet CBB 为什么决定推送 Tag 才能打包

而我接到一个很古老的项目需要修复某个坑,此时这个项目引用了一个底层库的古老版本,此时不能升级底层库,应该底层库的改动量太大了。...为什么会鼓励这样做?原因是有小伙伴说的某个项目的开发依赖某个库,但是假设这个库一定是合并到主分支之后才能打出 Tag 打包,也就是小伙伴某个项目代码将一直不能推送。...,但是实际最后发布的时候更改了公开方法,此时回滚到这个 commit 虽然能下载到 NuGet 库,但是发现 L 库的公开方法不匹配,构建失败 这就是为什么选用推送 Tag 打包的原因,允许小伙伴自己选择预览版的版本推送...,自动打包,这样就可以项目使用此Tag 打出的预览版的代码。...此时的 commit 其他小伙伴也能构建,回滚代码的时候也可以公共服务器找到 NuGet 包或切换到对应版本的源代码 VisualStudio 的帮助下,使用推Tag打包的成本非常低,因为 VS

38820

Rust 生态观察 | 9 月热点思考

QDK 支持 Q#、 Qiskit[17] 和 Cirq[18] 进行量子计算,因此,如果你已经使用其他开发语言,还可以 Azure Quantum 运行线路。 Rust用于产品的核心。...那么,如何确保更多的Rust开发者知道并使用这个工具来避免semver违规? 10. 为什么 ring 不与Rust Crypto项目合作?...社区中的很多人都好奇为什么 ring 不与Rust Crypto项目合作?...活跃借贷: 当我们代码创建一个引用(例如&x),我们实际创建一个借贷(Loan)。这个借贷某些代码段中是活跃的,这意味着我们不能修改被借用的值。...这个转换 Rust 中只可以依赖于过程宏来实现。 Zig 中创建这样的数据结构非常简单,依赖于 Zig 分阶段编译的特性。但是Rust中使用过程宏创建这些示例基本是不可能的 。

52130

Xamarin 从零开始部署 iOS 的 Walterlv.CloudKeyboard 应用

因为没有 iOS 找到任何一款稍微能用的输入法,因此只能拜托太子帮我开发一款应用了。太子很给力,帮我开发完成了,但现在的问题就是如何在的手机上部署。...下载好代码然后打开 以下界面是 VisualStudio ,咱需要在 VisualStudio 修改捆绑包标识符,修改方法就是双击 Info.plist 文件 ?...而刚才为了让应用在手机能部署,也就选择了 UIKit App Delegate 框架 但此时依然部署将会失败,原因是 .xcodeproj 文件里面记录的版本号会更高,使用 VisualStudio...但是安装完成之后,会提示启动失败 ?...此时再次 VisualStudio 进行部署,如果提示因为存在同名的签名的应用,原因就是开始的时候 XCode 创建的占坑应用用了当前 VisualStudio 部署使用的捆绑包签名 BundleIDConflictWithOtherIdentifier

1.1K10

dotnet 用 gcdump 调试应用程序内存占用

遇到需要在服务器端或客户端调试应用程序的内存占用时,可以尝试使用 dotnet 的 gcdump 工具进行调试,这个工具使用十分简单,功能也很强大 在运行这个工具之前要求设备先安装 dotnet 环境...服务器端,只有安装了 dotnet 工具,同时不是 Windows 的服务器,不能使用 VisualStudio 远程调试技术前提下。...-p 如准备一个测试用的 dotnet core 程序,可以github下载的测试代码 测试代码第一句话输出当前进程号,方便使用工具获取当前进程...dotnet run 运行代码,不需要开启 VisualStudio 就能进行编译运行代码,这也就是可以将 C# 代码当成复杂脚本来用,可以代替部分 PowerShell 功能 打开一个新的命令行,输入...,源代码放在github 小伙伴如果有问题欢迎到官方交流

1.1K30

VisualStudio 通过外部调试方法快速调试库代码

开发的时候,有一个很大的项目,里面包含了 1000 个项目,但是需要调试里面的一个库,如果直接修改这个库,会让 VisualStudio 重新编译 90 个项目,于是这样的调试的速度就太慢 本文告诉大家如何通过外部调试的方法...,每次调试只需要编译这个库不需要编译其他的项目 因为无法将我的项目截图放出来,于是重新创建两个项目,一个是 WPF 的 exe 项目,一个是 dotnet core 库会在 WPF 引用 命令行输入下面代码创建...WPF 项目 打开 VisualStudio 2019 新建一个项目,引用这个 WPF 程序然后创建一个 dotnet core 库项目 ?...A 的一些代码需要重新编译 WPF 项目才可以进行调试 可以通过 VisualStudio 调试可执行文件的方法外部调试这样就可以只编译 dotnet core 程序 右击 dotnet core...,但是调试的时候还是存在一些不足 不能让库修改为二进制不兼容 如果跳转到引用的程序的代码第一次可以修改里面的内容继续执行,但是第二次调试会显示代码和符号不相同 有时候 VisualStudio

1.1K10

转 | 从零开始用 dotnet 做全栈开发

首先肯定时控制台项目,控制台项目创建速度最快的,也是不担心小伙伴的 VisualStudio 没有安装对应的功能 打开 VisualStudio 2019 点击新建项目 ?...创建完成之后,如果发现界面的代码提示错误,只需要等待一下 NuGet 的还原就可以了,此时什么都不需要做,等一下缓慢的 VisualStudio 加载,加载完成之后就可以看到代码高亮,此时点击运行按钮就可以运行代码...因为两个平台其实可以合并使用 Xamarin 开发 VisualStudio 2019 新建 Xamarin 项目 ?...没关系,先右击安卓项目,设置为启动项目运行 安卓在运行的时候需要下载安卓模拟器,这个模拟器可以用来电脑玩安卓游戏,此时需要等待下载安装 ? 这里不需要关心配置,只需要运行项目。...在这里需要等待的时间和你的网速有关,不如此时回顾一下上面遇到的问题 控制台项目需要从哪个函数开始运行 控制台项目如何将字符串输出到控制台 基础的 C# 语法是什么 桌面项目除了 WPF 还有什么 创建

1.6K20

Roslyn 如何基于 Microsoft.NET.Sdk 制作源代码

,一个项目创建一个 dll ,客户端的软件,用户很希望软件点击就打开。...但是从软件开发的功能,不同的功能应该使用不同的项目,这样才可以尽可能复用代码。为了让项目可以分细,而且减少创建的 dll 库,就需要使用本文的技术。...使用代码项目而不是引用 dll 的方法实际 Chrome 就是这样做,谷歌的开发就是有很多,大概有几百个项目,但是编译出来的 dll 只有一两个,所以他才有一点击就打开。...准备工作 开始读本文之前,希望大家先了解一些概念,请看理解 C# 项目 csproj 文件格式的本质和编译流程 - walterlv,这一个文章告诉了大家一些基础,不然在看本文的时候会不知道为什么需要这样写...资源问题坑了黄腾霄两天,坑了一天,所以我才把这个问题在这里和大家说,如果大家使用了上面说道的工具,就不需要了解这么多,做源代码包很简单 ----

81120

从零开始用 dotnet 做全栈开发

首先肯定时控制台项目,控制台项目创建速度最快的,也是不担心小伙伴的 VisualStudio 没有安装对应的功能 打开 VisualStudio 2019 点击新建项目 ?...创建完成之后,如果发现界面的代码提示错误,只需要等待一下 NuGet 的还原就可以了,此时什么都不需要做,等一下缓慢的 VisualStudio 加载,加载完成之后就可以看到代码高亮,此时点击运行按钮就可以运行代码...因为两个平台其实可以合并使用 Xamarin 开发 VisualStudio 2019 新建 Xamarin 项目 ?...没关系,先右击安卓项目,设置为启动项目运行 安卓在运行的时候需要下载安卓模拟器,这个模拟器可以用来电脑玩安卓游戏,此时需要等待下载安装 ? 这里不需要关心配置,只需要运行项目。...在这里需要等待的时间和你的网速有关,不如此时回顾一下上面遇到的问题 控制台项目需要从哪个函数开始运行 控制台项目如何将字符串输出到控制台 基础的 C# 语法是什么 桌面项目除了 WPF 还有什么 创建

1.8K20

dotnet 代码调试方法

,通过 dnspy 和 VS 附加调试或获取 DUMP 调试 查看是否软件版本不存在此问题,在上版本不存在此问题等,通过二分代码找到出代码提交 各大社交网络进行询问 从题目看,最简单的调试方法从断点调试开始...只要需要调试,那么请优先考虑进行断点调试,只有断点调试难以使用的时候才考虑使用其他方法 项目开发的时候,有时候会遇到一些奇怪的坑,但是项目太大了,不能确定是哪个模块的问题,或者自己对整个逻辑也不熟悉...,此时可以尝试使用异常调试的方法 调试对象 VisualStudio 中提供了给某个对象添加 ID 的功能,软件运行的过程,整个进程有超级多的对象被创建,而在调试的时候经常发现了修改了某个对象的属性或值但实际没有应用上...调试到这个问题的时候不能简单改回去,需要知道为什么那个逗比小伙伴要这样修改 但是这个逗比小伙伴蹲坑,不想去找他,有什么方法可以知道为什么他要这样修改?...或者本金鱼经常不知道自己为什么会这样写代码调试的过程发现有诡异的代码如何知道为什么这样做 如果代码里面存在注释,可以通过注释找到这样写的原因。

1.4K10
领券