<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[mochounv的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/mochounv</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; mochounv]]></copyright><item><title><![CDATA[在win 11/win10 visual studio上安装.net 45]]></title><link>https://blog.youkuaiyun.com/mochounv/article/details/127504969</link><guid>https://blog.youkuaiyun.com/mochounv/article/details/127504969</guid><author>mochounv</author><pubDate>Mon, 05 Dec 2022 11:41:31 +0800</pubDate><description><![CDATA[问题：error MSB3644: The reference assemblies for framework “.NETFramework,Version=v4.5” were not found因为win10/win11默认的.net已经不是win10,而visual stuido 2019/2022也不再安装这个版本。但是有些古老的程序还是target 4.5。而此时到微软官网下载.net 45直接安装是安装不上的。以下分享一个成功的安装方法（亲试有用）下载Microsoft.NETFramewor]]></description><category></category></item><item><title><![CDATA[PackageReference in visual studio]]></title><link>https://blog.youkuaiyun.com/mochounv/article/details/123231521</link><guid>https://blog.youkuaiyun.com/mochounv/article/details/123231521</guid><author>mochounv</author><pubDate>Wed, 02 Mar 2022 15:25:57 +0800</pubDate><description><![CDATA[NuGet PackageReference in project files | Microsoft Docs

最直观的作用，使用这个种方式就不会有package.config文件 ，该文件的信息都自动到工程里，并且工程文件也显得很干净，如下：

原来的方式是这样的：



并且工程文件中会有一个packages.config文件

改为PackageReference后是这样的：



使用范围：

NuGet PackageReference in project files | Micros...]]></description><category></category></item><item><title><![CDATA[dotnet framework 中调用 UWP native API]]></title><link>https://blog.youkuaiyun.com/mochounv/article/details/123212074</link><guid>https://blog.youkuaiyun.com/mochounv/article/details/123212074</guid><author>mochounv</author><pubDate>Tue, 01 Mar 2022 18:07:41 +0800</pubDate><description><![CDATA[需要在dotnet project中引用 "Windows.winmd", 因为该lib在系统中可能存在多个版本，

在一个platform 可以运行起来的版本，很可能换个不同的OS版本就不行，因此，最好

自己选定一个，跟着项目源码一起。

单单引用这个，可能会出现error CS4036问题，比如

error CS4036: 'IAsyncOperation&lt;AppServiceResponse&gt;' does not contain a definition for 'GetAwaiter]]></description><category></category></item><item><title><![CDATA[Windows 11 和TPM(Trusted Platform Module)]]></title><link>https://blog.youkuaiyun.com/mochounv/article/details/122602431</link><guid>https://blog.youkuaiyun.com/mochounv/article/details/122602431</guid><author>mochounv</author><pubDate>Thu, 20 Jan 2022 15:32:57 +0800</pubDate><description><![CDATA[今天换“新”机器时，发现这台所谓的新机器居然不能安装windows 11．通过"Windows 11 Installation Assistant" 升级系统时，弹出提示说需要通过“PC health check app”来检查系统是是否达标。想想我这可能是Dell Precision，怎么可能不达标。可是没想到检查后说我系统没有TPM 2.0. 其实官方说“Although the basic requirements are not dramatically different to Windows 1]]></description><category></category></item><item><title><![CDATA[Windows UWP 三轴加速器接口的使用]]></title><link>https://blog.youkuaiyun.com/mochounv/article/details/122488992</link><guid>https://blog.youkuaiyun.com/mochounv/article/details/122488992</guid><author>mochounv</author><pubDate>Fri, 14 Jan 2022 10:43:30 +0800</pubDate><description><![CDATA[通过整理学习Accelerometer 接口的一些资料，详细介绍如何使用windows uwp 下的Accelerometer 接口计算速度和位移]]></description><category></category></item><item><title><![CDATA[一阶逻辑公式转Kripke structure(KS)]]></title><link>https://blog.youkuaiyun.com/mochounv/article/details/117620205</link><guid>https://blog.youkuaiyun.com/mochounv/article/details/117620205</guid><author>mochounv</author><pubDate>Sun, 06 Jun 2021 10:33:11 +0800</pubDate><description><![CDATA[将一段imp程序转Kripke structure(KS)。

这是系统分析与验证一门课的作业，需要将一段imp程序转为一阶逻辑公式，再由一阶逻辑公式转为 Kripke structure(KS)。并且老师要求是不能使用python.因为github上有python和t实现了完整的过程。

https://github.com/lypnol/impy

其实也有一个rust 版本

https://gitlab.com/davirain.yin/imp-interpeter

关于阶逻辑公式和Kripke ]]></description><category></category></item><item><title><![CDATA[c++ 开源库集成器Vcpkg全教程--利用Vcpkg轻松集成开源第三方库]]></title><link>https://blog.youkuaiyun.com/mochounv/article/details/117334067</link><guid>https://blog.youkuaiyun.com/mochounv/article/details/117334067</guid><author>mochounv</author><pubDate>Thu, 27 May 2021 17:53:50 +0800</pubDate><description><![CDATA[利用Vcpkg轻松集成开源第三方库
1. 为什么要用Vcpkg
1.1. 传统使用开源库的方法
1.1.1. 编译工具
1.1.2. 编译类型
1.1.3. 工程目录设定
1.2. Vcpkg的优点
2. 获取Vcpkg
2.1. 下载Vcpkg
2.2. 编译Vcpkg
3. 使用Vcpkg
3.1. 查看Vcpkg支持的开源库列表
3.2. 安装一个开源库
3.3. 指定编译某种架构的程序库
3.4. 移除一个已经安装（编译）的开源库
3.5. 列出已经安装的开源库
3.6. 更新已经安装的开源库
3.]]></description><category></category></item><item><title><![CDATA[windows 10 安装 pygraphviz 模块]]></title><link>https://blog.youkuaiyun.com/mochounv/article/details/116245432</link><guid>https://blog.youkuaiyun.com/mochounv/article/details/116245432</guid><author>mochounv</author><pubDate>Wed, 28 Apr 2021 23:12:56 +0800</pubDate><description><![CDATA[windows x64下安装Graphviz 后默认路径是在这里的

C:\Program Files\Graphviz

然后使用 pip 命令自动安装pygraphviz 模块时，总是报告各种错误。经过查找发现，原来是默认下载下来的setup.py 文件中关联的空路径并不能正确找这到Graphviz的头文件和ｌｉｂ文件。

通过以下步骤解决了这个问题：



手动下载

https://pypi.org/project/pygraphviz/#files，

解压到本地，假如目录为“…\pygrap..]]></description><category></category></item><item><title><![CDATA[WPF 自定义窗口在扩展屏的最大化]]></title><link>https://blog.youkuaiyun.com/mochounv/article/details/115160643</link><guid>https://blog.youkuaiyun.com/mochounv/article/details/115160643</guid><author>mochounv</author><pubDate>Wed, 24 Mar 2021 10:47:00 +0800</pubDate><description><![CDATA[很多应用需要定制化窗口，而窗口定制化不能绕过的一个问题是标题栏定制化。

基于wpf的窗口程序，一般会通过透明，去边框化的方式将原有的标题栏遮挡。

默认情况下，wpf 窗口的标题栏是这样的， 这时最化小，最大化/还原和关闭的行为都是

像正常windows程序的行为，不需要添加任何代码。



设置 WindowStyle="None" 之后，标题栏的图标，标题以及三个按钮都不见了。但是标题栏的还留

下一步部分，如下所示





需要添加在窗口属性中添加

AllowsTransparency="T.]]></description><category></category></item><item><title><![CDATA[c# 监听 Modern Standby 下的电源状态（Sleep mode）]]></title><link>https://blog.youkuaiyun.com/mochounv/article/details/114668594</link><guid>https://blog.youkuaiyun.com/mochounv/article/details/114668594</guid><author>mochounv</author><pubDate>Thu, 11 Mar 2021 15:55:43 +0800</pubDate><description><![CDATA[Windows 8.1之后，winows系统引入一种叫Connected Standby power model。其目的在于模拟手机关屏后能够省电，而开屏时又能快速响应的特点。在windows 10中，又扩展了这种模式。有了conneted standby mode 和DisConnected standby mode.（https://docs.microsoft.com/en-us/windows-hardware/design/device-experiences/modern-standby）

最]]></description><category></category></item><item><title><![CDATA[Windows Project Reunion]]></title><link>https://blog.youkuaiyun.com/mochounv/article/details/114277739</link><guid>https://blog.youkuaiyun.com/mochounv/article/details/114277739</guid><author>mochounv</author><pubDate>Tue, 02 Mar 2021 10:12:05 +0800</pubDate><description><![CDATA[本来转自https://www.cnbeta.com/articles/tech/991531.htm

源于看完https://docs.microsoft.com/en-us/windows/apps/project-reunion/之后还是云里雾里，但是在https://github.com/microsoft/ProjectReunion这个里面，可以看到，c++ API可以直接使用window UI 3.0. 至于更多所谓的 “Project Reunion does not repla...]]></description><category></category></item><item><title><![CDATA[仿射密码加密解密实现]]></title><link>https://blog.youkuaiyun.com/mochounv/article/details/109256383</link><guid>https://blog.youkuaiyun.com/mochounv/article/details/109256383</guid><author>mochounv</author><pubDate>Sat, 24 Oct 2020 11:18:41 +0800</pubDate><description><![CDATA[加密和解密都是数学函数。对此并没有很多了解。只为一解答一道作业题目来了解这两个函数以及将函数转为代码。

先从百度基本了解一下这个加密函数



只靠通识的数学知识，理解



是有难度

首先是计算优先级的疑惑，通过查资料确认是先计算前面的加法运算，然后再模，所以从非专业人士来说以下的通式形式会更好理解。



这个式子对于代码来说应该是不难了，但是我要解的题目是类似这样的





那么怎么将字母作为可计算的值代入式子呢。参考这个文章

https://www.cnblogs.com/Mayfly-n.]]></description><category></category></item><item><title><![CDATA[密码学：模的运算及其规则]]></title><link>https://blog.youkuaiyun.com/mochounv/article/details/109254137</link><guid>https://blog.youkuaiyun.com/mochounv/article/details/109254137</guid><author>mochounv</author><pubDate>Sat, 24 Oct 2020 09:26:05 +0800</pubDate><description><![CDATA[本文转自，比较简洁地讲明了模的各种概念，尤其是逆元

https://blog.youkuaiyun.com/paradox_1_0/article/details/89926847?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.edu_weight&amp;depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFrom]]></description><category></category></item><item><title><![CDATA[在wpf中使用Naudio 录音和实时绘制波形图]]></title><link>https://blog.youkuaiyun.com/mochounv/article/details/109147368</link><guid>https://blog.youkuaiyun.com/mochounv/article/details/109147368</guid><author>mochounv</author><pubDate>Sun, 18 Oct 2020 17:32:15 +0800</pubDate><description><![CDATA[Naudio是集录音、播放的源码库。https://github.com/naudio/NAudio，这是基于.net的框架。 在这链接的源码里有各种.net 框架的例子，对于基于.net wpf/universal 的程序，还提供了波形图的绘制。

我从没接触过音频类的技术，有个基于wpf 的项目需要快速提供实时绘制录音的图形。

因为源码库提供的wpf例子是基于文件播放的，其还中包括了比较多参数设置，技术上用了很多反射。很不直观 ，又因为对音频api毫无概念，想快速修改为基于实时录音还是需要费点时间的。]]></description><category></category></item><item><title><![CDATA[简谈软件工程和实际的软件过程]]></title><link>https://blog.youkuaiyun.com/mochounv/article/details/108839530</link><guid>https://blog.youkuaiyun.com/mochounv/article/details/108839530</guid><author>mochounv</author><pubDate>Mon, 28 Sep 2020 00:16:07 +0800</pubDate><description><![CDATA[写了十几年代码，如果你问我软件工程是什么，我还真的会卡壳，尽管我也记得大学时还学过这门课程。

至到去年考研的复习中看到IEEE组织对软件工程定义：

1）将系统化的、规范的、可度量的方法应用于软件的开发、运行和维护的过程，即将工程化应用于软件中；

2）对1）中所述方法的研究。

这个定义的形式对码农来说来应该是非常亲切了，而从内容来说，我感觉是概括出我想表达而无法总出来的内容。

可是问题来了，既然有所谓的系统化，规范和度量的方法后，那么到底有哪些方法，可以让软件项目的开发工作可以度量和规划。（可能自己]]></description><category></category></item><item><title><![CDATA[Async Await 异常处理]]></title><link>https://blog.youkuaiyun.com/mochounv/article/details/108721874</link><guid>https://blog.youkuaiyun.com/mochounv/article/details/108721874</guid><author>mochounv</author><pubDate>Mon, 21 Sep 2020 23:56:30 +0800</pubDate><description><![CDATA[Async 方法有三种可能的返回类型： Task、Task&lt;T&gt; 和 void，但是 async 方法的固有返回类型只有 Task 和 Task&lt;T&gt;。 当从同步转换为异步代码时，任何返回类型 T 的方法都会成为返回 Task&lt;T&gt; 的 async 方法，任何返回 void 的方法都会成为返回 Task 的 async 方法。 返回 void 的 async 方法具有特定用途： 用于支持异步事件处理程序。（参考 https://docs.microsoft.com/zh-]]></description><category></category></item><item><title><![CDATA[UWP,WPF 打包Roboto 字体]]></title><link>https://blog.youkuaiyun.com/mochounv/article/details/108694271</link><guid>https://blog.youkuaiyun.com/mochounv/article/details/108694271</guid><author>mochounv</author><pubDate>Sun, 20 Sep 2020 15:57:18 +0800</pubDate><description><![CDATA[在uwp中添加和使用第三方字体过程和wpf基本差不多，这里简述一下过程，只是为了引出在uwp中使用roboto字体的问题。

（完整的代码可以在这里下载 https://download.youkuaiyun.com/download/mochounv/12869684 ， 其中包含uwp和wpf两个示例工程）



第一步，添加字体资源

如从 https://fonts.google.com/ 或者 https://www.fontsquirrel.com/ 等网站。

（我这里使用的是ttf，其它一些格式如ot.]]></description><category></category></item><item><title><![CDATA[Async Await 工作流程和作用]]></title><link>https://blog.youkuaiyun.com/mochounv/article/details/108614892</link><guid>https://blog.youkuaiyun.com/mochounv/article/details/108614892</guid><author>mochounv</author><pubDate>Wed, 16 Sep 2020 09:24:12 +0800</pubDate><description><![CDATA[从多线程最常用的场景模式说起。

比如下面的一段代码, 函数中需要从远程获取数据， 这个过程可能需要10多秒或者更长，甚至网络可能断了。那么调用这个函数的界面将“死卡”住。





只要编程语言支持多线程，这个问题便可以解决。便能构建所谓的响应式程序。所以很多文档说async, await 是为了构建响应式程序。在我看来，并不如此，就是在c# 支持Task之前，就可以使用比较底层的Thread对象，但是需要创建线程，启动线程，停止线程等操作。除了这些步骤之后，因为线程是内核对象，管理不善，很容易在程序退.]]></description><category></category></item><item><title><![CDATA[UWP ComboBox 样式的问题及改善]]></title><link>https://blog.youkuaiyun.com/mochounv/article/details/108359241</link><guid>https://blog.youkuaiyun.com/mochounv/article/details/108359241</guid><author>mochounv</author><pubDate>Wed, 02 Sep 2020 11:44:45 +0800</pubDate><description><![CDATA[UWP ComboBox 样式的问题及改善



所谓下拉框，当然就是这个样子的，



但是UWP中的下拉框默认样式却是这样的：



弹出的下拉框把控件默认的部分挡住了。就算是通过改写系统提供的模板，居然也无法改变这个dropdown box的位置。

根据以下这个链接，看来在早期的版本，通过修改系统模板这个方法还是有用的。

https://social.msdn.micro...]]></description><category></category></item><item><title><![CDATA[UWP 使用SVG (ttf,otf)的两种方式]]></title><link>https://blog.youkuaiyun.com/mochounv/article/details/107723196</link><guid>https://blog.youkuaiyun.com/mochounv/article/details/107723196</guid><author>mochounv</author><pubDate>Fri, 31 Jul 2020 23:02:11 +0800</pubDate><description><![CDATA[1. 直接使用

像传统图片一样，将svg文件添加到工程中，文件的属性为"Content"



在xaml中作为Image的source直接引用



这种方式只能在uwp中使用。

以下重点介绍， 将svg作为字体使用的方式，这种方式既可以在wpf中使用也可以在uwp中使用。

2. 作为字体的方式

随着富文本发展，程序界面将图标作为字体使用的原因和好处都有很多，对于wpf和uwp的UI，除了传说中提升性能外，最直接的好处是使用图标可以像文本内容一样处理，对于支持动态主题的UI，不再因为不同颜色而需要]]></description><category></category></item></channel></rss>