随笔分类 - C#.NET
基础语法用法等
摘要:如图: 检查项目文件(.csproj)中是否存在以下配置: <Project> <!-- 其它配置 --> <Import Project="..\packages\SkiaSharp.NativeAssets.Win32.3.116.1\buildTransitive\net462\SkiaSha
阅读全文
摘要:新的 .NET 项目可以直接使用 dotnet 命令,但旧的 .NET Framework 项目仍然需要 MSBuild 进行生成。 为了方便在不同环境下的自动编译 可以通过 Visual Studio Installer 的命令参数进行查找: PowerShell: &"${env:Program
阅读全文
摘要:主要是分号闹得,改成 %3B 转义一下就好了。 例如:msbuild /t:rebuild "/property:DefineConstants=PROD%3BCODE_ANALYSIS" 参考:https://stackoverflow.com/questions/24830088/command
阅读全文
摘要:随着 .NET 项目引用的第三方组件越来越多,文件夹下会产生很多 dll、xml 等相关文件,可执行程序或其它资源日志说明就被埋没其中,很不好找 NetBeauty2 可以自动将引用的 dll 统一移至一个子文件夹中,保持根目录的整洁。 项目地址:https://github.com/nulastu
阅读全文
摘要:官方相关文档:https://learn.microsoft.com/zh-cn/windows/win32/shutdown/shutdown-changes-for-windows-vista https://learn.microsoft.com/zh-cn/windows/win32/api
阅读全文
摘要:可以检查项目文件中对应包的属性是否有 PrivateAssets = ‘All’ 这个属性会在最终输出时,不复制相关文件,在 nuget 包仅在开发过程中使用时会比较有用。 参考链接:https://learn.microsoft.com/zh-cn/nuget/consume-packages/p
阅读全文
摘要:记录一个第三方测试 .NET 支持情况:https://newlifex.com/tech/os_net 根据内容测试,对于 .NET 8,在 Windows 7 SP1 与 Windows Server 2008 R2 SP1 系统应该也是可以安装支持的。 官方文档:https://learn.m
阅读全文
摘要:这是因为出于安全原因,新更新的系统中会默认禁用一些已经过时不安全的加密协议 如:SSL 3.0、TLS 1.0、TLS 1.1 等 但并不是所有接口服务器都已经更新支持了更新的协议 所以在确认安全的情况下,可以将这些旧的协议再次启用,以达到兼容旧接口调用的目的 方法1: 注意:这个修改会在系统全局范
阅读全文
摘要:nuget 1、在 Visual Studio 中打开对应的解决方案; 2、打开程序包管理控制台; 3、执行命令: Get-Package | Select-Object -Property {$_.Id+","+$_.Version} 4、即可得到以逗号分隔的包名称+版本号的列表,复制即可。 np
阅读全文
摘要:1. 使用ThreadStatic特性 [ThreadStatic] 2. 数据槽 Thread.AllocateNamedDataSlot("slot"); 3. .NET 4.0 后增加的 ThreadLocal<T> 类型 new ThreadLocal<string>(() => "hehe
阅读全文
摘要:jsencrypt 是 Javascript 下的 RSA 加解密插件:https://github.com/travist/jsencrypt BouncyCastle 是 .NET 中的 RSA 加解密插件:https://www.bouncycastle.org/csharp/index.ht
阅读全文
摘要:因为现在 .net 版本比较多,但不是所有 .net 版本都可以向下兼容(具体可参见:https://docs.microsoft.com/zh-cn/dotnet/standard/net-standard) 但有一些公共纯逻辑与平台无关代码希望能够可以打包为 nuget 包,被各种项目引用。甚至
阅读全文
摘要:> 为什么 Math.Round(4.125, 2) 的结果是 4.12 而不是 4.13 在计算机中对浮点数的处理是按 IEEE 754 标准进行的,同时该标准对舍入规则也做了约定。 默认情况下,使用 Math.Round 方法时执行的舍入规则,主要是中值的舍入规则,根据官方文档说明是按 IEEE
阅读全文
摘要:最近使用的 Windows 10 系统在不知道哪个升级后,IIS 中配置的 WCF 站点不能使用 net.tcp 访问到了,错误如下: System.ServiceModel.EndpointNotFoundException: 没有终结点在侦听可以接受消息的 net.tcp://127.0.0.1
阅读全文
摘要:转自:https://www.cnblogs.com/lykbk/p/fghbrt54645645645.html IDispose 接口可以通过 Using 关键字实现使用后立刻销毁,因此,Dispose 适合只在方法中调用一次 SqlConnection 对象,而 Close 更适合 SqlConnection 在关闭后可能需要再次打开的情况。 Close() 方法回滚任何挂起的事务。然...
阅读全文
摘要:如题,首先是找到了微软社区的一篇帖子:https://social.msdn.microsoft.com/Forums/sqlserver/zh-CN/4dded11a-f56f-4b31-b647-25afa7cc60e2/3689036807windowsformshost2115236733winform25511202142608027861touch25805?forum=wpfzhch...
阅读全文
摘要:原文链接:https://michaelscodingspot.com/ways-to-cause-memory-leaks-in-dotnet/ 翻译链接:https://www.cnblogs.com/murongxiaopifu/p/12894385.html 任何有经验的.NET开发人员都知道,即使.NET应用程序具有垃圾回收器,内存泄漏始终会发生。 并不是说垃圾回收器有bug,而是我...
阅读全文
摘要:唔,在 WinForm 中,当设置了控件的 Anchor 属性时,其 Location 属性依然是相对父控件的 Top Left 定位,只是在后续窗口大小发生改变时,会保持 Anchor 指定的边缘(等于在自动调整 Location),并不是 Location 相对 Anchor 来定位。所以 Anchor 不是用来指定 Location 的锚点,是指的相应的边缘会自动与父控件保持设计时的距离(比...
阅读全文
摘要:转自:https://www.cnblogs.com/junior/archive/2012/03/06/2381734.html Image.FromStream(Assembly.GetExecutingAssembly().GetManifestResourceStream(@"TestCustomForm.Res.button.btndown.bmp")); 其中:TestCustomFo...
阅读全文
摘要:错误消息:未能找到类型“XXX”。请确保已引用包含此类型的程序集。如果此类型为开发项目的一部分,请确保已使用针对当前平台或任意 CPU 的设置成功生成该项目。 大概是因为 Visual Studio 是 x86 的程序,所以根据上面消息,要针对当前平台(x86)有生成,才可以正常使用窗体设计器。 解决方案,可能也不算解决: 1、请将引用的程序集生成架构改为 x86 或 Any CPU,重新生成即可...
阅读全文