
C#
Pelva
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
WPF .Net5 caliburnmicro初始化
貌似nuget没有提供.Net5的Starter模版,因此记录一下初始化工程的流程下载CalNuget 搜索Caliburn 下载4.0.173版本向工程添加ViewModels和Views文件夹添加ViewModelusing Caliburn.Micro;using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;usin原创 2022-05-24 16:32:45 · 322 阅读 · 0 评论 -
详细介绍.NetCore 3.1跨域配置的文章
http://www.zyiz.net/tutorial/detail-4801.html原创 2021-12-25 11:00:12 · 317 阅读 · 0 评论 -
.Net高级调试-基本调试任务-一些命令
符号.sympath 不带参数,显示符号的路径,参数可以是符号的文件夹.reload 枚举进程中的所有模块,并尝试找出与各个模块相关的符号文件.symfix 自动将符号路径设置为Microsoft公有符号服务器.sympath+ 将另一个文件夹添加到现有符号路径列表中控制调试目标中断执行按ctrl + c 来中断程序执行恢复执行g 不带任何参数,只是恢复调试目标的执行,直到下一次发生某个调试事件如果不希望调试器在初始启动时停止程序的执行,在启动调试器时加 -g 如 ntsd -g a.原创 2021-12-13 16:57:48 · 1281 阅读 · 0 评论 -
VS2019 发布dotnet core应用到其它平台 nuget报错的解决方法
在windows系统下publish 到Linux-x64平台下,nuget总是报错,网上各种方法也不见效使用命令行可以正常发布dotnet publish --runtime linux-x64原创 2021-11-12 17:58:14 · 347 阅读 · 0 评论 -
由dotnetFramework迁移到dotnetcore
参考微软官方安装升级助手dotnet tool install -g upgrade-assistantupgrade升级助手dotnet tool update -g upgrade-assistant打开PowerShellupgrade-assistant upgrade .\WpfTest.csproj原创 2021-11-12 10:32:40 · 289 阅读 · 0 评论 -
将小图片放到指定大小的画布里
using System;using System.Collections.Generic;using System.Drawing;using System.IO;using System.Linq;using System.Text;using System.Threading.Tasks;namespace ResizePng{ public struct Size { public int height; public int wid原创 2021-07-27 10:05:05 · 259 阅读 · 0 评论 -
VB调用C#生成的COM组件
在COM中使用.NET程序集文章目录在COM中使用.NET程序集使用`ClassInterface`暴露.NET类使用AutoDual实现早期绑定使用`AutoDispath` 实现后期绑定使用`None` 实现后期绑定使用特性调整类型库元数据控制COM中GUID标识控制COM可见性封送处理常用数据类型的封送处理及使用MarshalAs属性控制数据的封送处理行为其它生成COM类型库的方法使用Tlbexp使用程序集注册工具Regasm使用ClassInterface暴露.NET类这个方法比较简单,原创 2021-07-01 15:12:24 · 1113 阅读 · 0 评论 -
WPF Caliburn.Micro根据Model自动生成ViewModel
依赖属性的编写纯属体力活,用代码来实现吧using System;using System.Collections.Generic;using System.Linq;using System.Reflection;using System.Text;using System.Threading.Tasks;namespace GeneratePropdp{ class Program { static void Main(string[] args)原创 2021-03-12 10:39:24 · 343 阅读 · 0 评论 -
记一次netcore 3.1 发布失败
VS版本:2019 16.8.5使用框架:netcore3.1问题描述:项目可以正常生成,但部署模式为独立时,不能发布,部署模式为依赖框架,可以发布报错为Nuget包还原时报与服务器连接错误解决方法:使用命令行运行dotnet publish --self-contained -r win-x86然后再用VS就可以发布成功。...原创 2021-02-21 11:44:23 · 1192 阅读 · 1 评论 -
Caliburn.Micro使用事件聚合器
Caliburn.Micro框架使用观察者模式实现了事件聚合器Caliburn.Micro对参数采用强类型的方式,相比MvvmLight算是省心,易用详细的说明参见官方文档https://caliburnmicro.com/documentation/event-aggregator主要记录一下使用步骤:1,在Bootstrapper中的Configure方法中向IOC容器注册EventAggregator(在安装了Caliburn.Micro.Start中会有这行代码)contain原创 2020-12-14 15:33:03 · 778 阅读 · 0 评论 -
Caliburn.Micro将枚举 绑定到ComboBox
参考 https://stackoverflow.com/questions/47480725/caliburn-micro-enum-binding-in-combobox上面的文章详细地说明了CM的绑定原理和操作步骤,但我需要将一个poco类中枚举类型的属性绑定到ComboBox里,所以不能用CM的绑定方法具体做法如下1,在ViewModel中创建ComboBox的ItemSource public List<xxEnum> xxSouce => System.E原创 2020-12-03 16:50:49 · 400 阅读 · 1 评论 -
C#创建COM组件,供其它语言调用
1,.Net Framework平台创建dll项目 ,选择4.0框架 随便写一个类打开项目属性,为程序集签名设置程序集属性编译 使用regasm注册,然后其它语言就可以愉快的玩耍了2,.Net Core参见https://docs.microsoft.com/zh-cn/dotnet/core/native-interop/expose-components-to-com测试不成功...原创 2020-11-20 17:29:04 · 232 阅读 · 0 评论 -
ASP.NET Core TagHelper Form标签
Form标记作用为MVC控制器的Action或命名路由生成 Form标签和action属性生成一个隐藏的Request Verification Token来防止跨域请求(需要Action增加[ValidateAntiForgeryToken] 特性)asp-route- 属性可以给路由增加参数替代Html.BeginForm 和Html.BeginRouteForm<form asp-controller="Demo" asp-action="Register" method="pos翻译 2020-08-21 11:22:01 · 699 阅读 · 0 评论 -
Razor语法 Asp.Net Core 3.1
Razor的默认语言是html,使用@从Html转换到C#。要想在Html中显示@ 需要输入两个@ (但邮箱地址除外 直接显示)隐式Razor表达式写法: @后直接跟C#代码 除了await之外,隐式表达式中不能有空格<p>@await DoSomething("hello", "world")</p>隐式表达式也能使用泛型,因为尖括号会被解析为html,可以放在显式表达式,或代码块中显式Razor表达式写法:@()<p>Last week this ti原创 2020-08-20 15:24:39 · 903 阅读 · 0 评论 -
Stylet 简介
Stylet是一个适用于WPF的轻量MVVM框架特性VM优先经典的MVVM架构,View会实例化ViewModel ,ViewModel不知道View的存在Stylet需要手动实例化VM,自动附加ViewActions可以绑定Command,也可以绑定EventsScreen和ConductorsScreen类是VM的基类,提供了属性通知,验证,显示,隐藏,关闭的通知事件总线隔离订阅者和发送者WindowManager可以通过VM显示对话框验证Stylet可以使用FluentV原创 2020-08-12 16:27:17 · 2544 阅读 · 1 评论 -
C# ASP.Net Core 3.1使用 Hangfire 踩坑
Hangfire 是什么是一个任务调度框架安装配置使用都简单,参考中文文档使用过程中遇到的问题是数据库初始化失败,报错:Format of the initialization string does not conform to specification starting at index 0连接字符串不对services.AddHangfire(x => x.UseSqlServerStorage("TestConn"));改为services.AddHangfire(x =&原创 2020-07-27 10:57:29 · 1681 阅读 · 0 评论 -
C#调用WebApi 的方法 踩坑
需求:使用Post方法 发送Json对象,服务器返回Json对象实现1,使用HttpWebRequest下面代码没有异常处理/// <summary> /// 调用api返回json /// </summary> /// <param name="url">api地址</param> /// <param name="json原创 2020-07-24 13:41:36 · 772 阅读 · 0 评论 -
C# Dll中集成WPF窗体踩的坑
Dll中集成窗体并不是好的实践,但在特殊情况下还是有用的。打开csproj文件<?xml version="1.0" encoding="utf-8"?><Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Micr原创 2020-07-23 16:30:40 · 596 阅读 · 0 评论 -
Autofac 实例的作用域与生命周期
作用域和类型:每个依赖一个实例(Instance Per Dependency)单一实例(Single Instance)每个生命周期作用域一个实例(Instance Per Lifetime Scope)每个匹配的生命周期作用域一个实例(Instance Per Matching Lifetime Scope)每个请求一个实例(Instance Per Request)每次被拥有一个实例(Instance Per Owned)线程作用域(Thread Scope)每个依赖一个实例(In原创 2020-07-18 08:50:30 · 772 阅读 · 0 评论 -
Autofac 解析 生命周期作用域
解析注册完成后,可以从创建的容器或生命周期中解析服务 用Resolve方法实现:var builder = new ContainerBuilder();builder.RegisterType<MyComponent>().As<IService>();var container = builder.Build();using(var scope = container.BeginLifetimeScope()){ var service = scope.Reso原创 2020-07-17 17:55:48 · 494 阅读 · 0 评论 -
Autofac 注册时传参
可使用的参数类型三种参数匹配机制:NamedParameter 通过名字匹配目标参数 (常量)TypedParameter 通过类型匹配目标参数(常量)ResolvedParameter 复杂参数匹配假设你有个 configuration reader 需要传入一个 configuration section namepublic class ConfigReader : IConfigReader{ public ConfigReader(string configSection原创 2020-07-17 17:56:18 · 931 阅读 · 0 评论 -
Autofac-注册组件
Autofac创建对象的三种方式:反射已创建的一个对象实例lanmbda表达式(一个执行实例化对象的匿名方法)ContainerBuilder包含一组Register方法来实现以上操作。// Create the builder with which components/services are registered.var builder = new ContainerBuilder();// Register types that expose interfaces...buil原创 2020-07-17 17:56:33 · 551 阅读 · 0 评论 -
ASP.NET Core 3.1 Startup类
简介Startup 类包含一个可选的ConfigureServices方法,用来配置应用的服务。还包含一个Configure方法,来创建程序的请求处理管线。当使用IHostBuilder时,只有以下三个服务能够注入Startup类的构造函数IWebHostEnvironmentIHostEnvironmentIConfiguration大部分服务直到调用Configure方法后才能使用。ConfigureService方法可选在Configure方法配置程序的服务之前由host调用原创 2020-07-15 11:28:42 · 599 阅读 · 0 评论 -
C# 反射 和特性
反射能做的事:枚举类型的成员实例化新对象执行对象的成员查找类型的信息查找程序集的信息检查应用于某种类型的自定义特性创建和编译新程序集特性: [AttributeUsage(AttributeTargets.Property,AllowMultiple =false,Inherited =false)] public class FieldNameAttribute : Attribute { private string name; p原创 2020-07-07 15:10:46 · 1071 阅读 · 0 评论 -
C# Task await 及其它语法糖
private async Task<int> WaitInt() { return await Task.Run<int>(() => { return 1; }); }原创 2020-06-16 17:45:48 · 846 阅读 · 0 评论 -
.NET Core3.1引用COM组件遇到的问题小结
COM组件是用VB写的,32位开始报错:System.TypeLoadException:“The signature is incorrect.”原因是编译平台为Any解决方法是改为X86然后还是报错Retrieving the COM class factory for component with CLSID将COM组件属性:嵌入互操作类型改为是。...原创 2020-06-05 15:10:59 · 1887 阅读 · 0 评论 -
WPF中的DataGrid自动生成列时支持DisplayAttribute
大厂的控件会自动应用注解,而WPF自带的不能应用,需要手动实现using System.ComponentModel;using System.ComponentModel.DataAnnotations;using System.Linq;using System.Reflection;using System.Windows.Controls;namespace WPF.UserControl{ public class XGrid : DataGrid { ...原创 2020-05-26 18:24:21 · 652 阅读 · 0 评论 -
Asp.net core增加SSL支持
制作证书证书种类1.带有私钥的证书由Public Key Cryptography Standards #12,PKCS#12标准定义,包含了公钥和私钥的二进制格式的证书形式,以pfx作为证书文件后缀名。2.二进制编码的证书证书中没有私钥,DER 编码二进制格式的证书文件,以cer作为证书文件后缀名。3.Base64编码的证书证书中没有私钥,BASE64 编码格式的证书文件,也是以c...原创 2020-04-29 11:34:42 · 844 阅读 · 0 评论 -
WPF数据定时更新
问题的产生底层采集数据,UI使用ObservableCollection绑定,根据数据绘制曲线,每秒有上千个数据,UI卡顿问题的原因ObservableCollection 每次添加数据都会造成UI更新,UI处理不了每秒上千次的更新问题的解决定时更新UI ,但ObservableCollection未提供此功能,所幸大牛做了ObservableCollection的延时更新扩展http...原创 2020-03-19 16:59:11 · 1131 阅读 · 0 评论 -
使用Material Design(三)
修改主题和配色在按钮的Click事件中改变主题和颜色using MaterialDesignColors;using MaterialDesignThemes.Wpf;private void Button_Click(object sender, RoutedEventArgs e) { var paletteHelpe...原创 2020-03-16 17:10:58 · 471 阅读 · 0 评论 -
收集的WPF的皮肤或框架
随意收集1,WPF控件库 MaterialDesignInXamlToolkit (1)(皮肤)https://www.cnblogs.com/OpenLJW/articles/10145748.html2,框架 MVVM Light3,AYUI (框架mvc +皮肤)4,MahApps.Metro(皮肤)5,Microsoft Prismhttp://compos...原创 2020-03-15 21:44:54 · 1936 阅读 · 0 评论 -
c#有参构造函数中怎么调用其无参构造函数
class A{public A(){}public A(int A) :this(){}}当A a=new A(1);时 会先调用无参数的构造函数。在调用有参数那个原创 2020-01-17 11:15:54 · 3788 阅读 · 0 评论 -
反射
原文:https://blog.youkuaiyun.com/wu1020300665/article/details/829584551.什么是反射反射是.NET中的重要机制,通过反射,可以在运行时获得程序或程序集中每一个类型(包括类、结构、委托、接口和枚举等)的成员和成员的信息。有了反射,即可对每一个类型了如指掌。另外我还可以直接创建对象,即使这个对象的类型在编译时还不知道。2.反射简单例子...转载 2019-11-30 11:02:10 · 217 阅读 · 0 评论 -
VS将xml粘贴为类 不显示的解决方法
安装asp.net开发原创 2019-11-28 13:35:07 · 382 阅读 · 0 评论 -
VS编译 签名失败的另一种可能性
VS编译有时正常,有时报如下错误,搜索是某文件夹权限问题,改了也不行后来发现开了火绒,关了就正常了,猜则可能是火绒限制了文件的访问原创 2019-11-28 10:39:03 · 209 阅读 · 0 评论 -
C# 动态调用C++编写的dll
1,封装win32函数using System;using System.Collections.Generic;using System.Linq;using System.Runtime.InteropServices;using System.Text;using System.Threading.Tasks;namespace ClsNativeMethod{ ...原创 2019-11-14 14:26:28 · 315 阅读 · 0 评论 -
EF CodeFirst注解
引用的命名空间:using System.ComponentModel.DataAnnotations;using System.ComponentModel.DataAnnotations.Schema;Table 数据表名称[Table("table")]Key 主键[Key]Column 列名,列序,列类型[Column("col",TypeName ="M...原创 2019-10-29 11:20:40 · 896 阅读 · 0 评论 -
C#异步编程 Task.Run 报告进度
CancellationTokenSource cts; private async void start_click(object sender, RoutedEventArgs e) { this.prg.Maximum = 100; this.prg.Value = 0; ...原创 2019-10-21 17:06:33 · 2026 阅读 · 0 评论 -
单元测试UnitTest与NUnit
Unitusing System;using Microsoft.VisualStudio.TestTools.UnitTesting;using ConsoleAppFN;using System.Collections.Generic;namespace UnitTestProject1{ [TestClass] public class UnitTest1...原创 2019-10-18 17:37:29 · 330 阅读 · 0 评论 -
AutoMapping 9 使用入门
AutoMapping 9语法更改using AutoMapper;using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace Automapping{ class Program ...原创 2019-10-18 17:32:41 · 782 阅读 · 1 评论