.net 基操

本文介绍了.NET类库与控件类库的区别,调试时如何处理控件类库的报错,以及VS2017添加引用的解决方法。此外,还涵盖了单元测试的步骤,包括xUnit的安装和使用,以及SQLSugar与SQLite3的结合应用。同时,讲解了使用文件对话框的引用、封装和应用,以及.NET配置文件的读写操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

类库与控件类库的区别

参考: https://blog.youkuaiyun.com/superlight/article/details/4190377
可能大家并不知道,同样是类库,如标准类库,控件类库,调试时截然不同,如果你创建工程的时候选择是控件类库,那调试时会自动启动一个控件容器测试工具,给你测试使用,但标准类库里如果有控件,直接调试时,会报没有启动项目,无法调试的信息,这两种类库有什么区别呢,表面上看什么都没有,其实编译后也是一样的,究其根源,在于新建项目时的选择,那么答案就很简单了,秘密在项目文件里,经过对比,发现控件类库的项目文件多了

标准类库的项目文件里只要补上这么一句,就可以直接测试控件了

恩,又补充发现了个问题,不是所有控件都能测试的,只有继承于UserControl的才可以

                                                                                                     作者:Superlight

————————————————
版权声明:本文为优快云博主「superlight」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.youkuaiyun.com/superlight/article/details/4190377

vs2017 添加引用报错

以管理员身份运行 vs2017 命令行工具
在这里插入图片描述
定位到如下目录
在这里插入图片描述
执行如下命令, 然后重启vs即可

gacutil -i Microsoft.VisualStudio.Shell.Interop.11.0.dll

单元测试

安装插件

打开vs2017->工具->扩展与更新->联机 进行搜索Unit
在这里插入图片描述

创建一个.net项目

此处以wpf为例
在这里插入图片描述

添加一个xUnit项目

在这里插入图片描述

测试项目添加引用

在这里插入图片描述

在这里插入图片描述

运行测试类

在这里插入图片描述
测试资源管理器中单击 Output 可以看到控制台输出
在这里插入图片描述

sqlsugar + sqlite3

打开Nuget包管理器控制台
执行如下命令
在这里插入图片描述

Install-Package linq2db.SQLite

wpf项目和测试项目均需添加此依赖

  • 表结构
sqlite> .schema databaseselectoritem
CREATE TABLE databaseselectoritem(
  id INT,
  name TEXT,
  image TEXT
, remark TEXT(150));
sqlite>
  • 实体类
using SqlSugar;

namespace database_manager
{
    [SugarTable("databaseselectoritem")]
    public class DatabaseSelectorItem
    {
        //通过特性设置主键和自增列 
        [SugarColumn(IsPrimaryKey = true, IsIdentity = true)]
        public int Id { get; set; }

        public string Name { get; set; }

        public string Image { get; set; }

        public string Remark { get; set; }
    }
}
  • sugar 类
using log4net;
using SqlSugar;
using System.Collections.Generic;

namespace database_manager
{
    public class DatabaseSelectorItemDao
    {
        ILog log = LogManager.GetLogger(typeof(DatabaseSelectorItemDao));

        private SqlSugarClient db;

        public DatabaseSelectorItemDao()
        {
            db = new SqlSugarClient(new ConnectionConfig()
            {
                // 连接字符串
                // // @"DataSource=" + "F:/sanren2016/database-manager/dox/db/app.db"
                ConnectionString = @"DataSource=" + CommonConst.db_app,
                DbType = DbType.Sqlite,
                IsAutoCloseConnection = true,
                // 从特性读取主键自增信息
                InitKeyType = InitKeyType.Attribute
            });

            db.Aop.OnLogExecuting = (sql, pars) =>
            {
                log.Info(sql);
            };
        }

        public IList<DatabaseSelectorItem> list()
        {
            return db.Queryable<DatabaseSelectorItem>().ToList();
        }


        public SqlSugarClient getDb()
        {
            return db;
        }


    }
}

使用文件对话框

添加引用

在这里插入图片描述

封装

/// <summary>
/// 选择目录
/// </summary>
/// <param name="title">标题</param>
/// <param name="selectedPath">从哪个目录开始选择</param>
/// <param name="okAction">确定动作</param>
/// <param name="cancelAction">取消动作</param>
public static void BrowserPath(string title, string selectedPath, Action<string> okAction, Action<string> cancelAction)
{
	FolderBrowserDialog fbWnd = new FolderBrowserDialog();
	// 目录对话框的描述字符串
	fbWnd.Description = title;
	// 自定义从哪个目录下面选择
	fbWnd.SelectedPath = selectedPath;
	// 是否显示目录对话框左下角的“新建文件夹”按钮, true:显示, false: 隐藏
	fbWnd.ShowNewFolderButton = true;
	// 目录选择完之后是点击确认还是点击取消, 确认: OK, 取消: Cancel
	string strbtn = fbWnd.ShowDialog().ToString();

	if (strbtn.CompareTo("OK") == 0)
	{
		okAction(fbWnd.SelectedPath);
	}

	if (strbtn.CompareTo("Cancel") == 0)
	{
		cancelAction(fbWnd.SelectedPath);
	}
}

/// <summary>
/// 选择目录
/// </summary>
public static void BrowserPath(string title, string selectedPath, Action<string> okAction)
{
	BrowserPath(title, selectedPath, okAction, (p) => { });
}

使用

private void click_browse_workspace_path(object sender, RoutedEventArgs e)
{
	CommonUtil.BrowserPath("Select Workspace Dierectory", "", (p) =>
	{
		MessageBox.Show(p,"已选择目录");
	});
}

.net config 读写config文件

https://www.cnblogs.com/fish-li/archive/2011/12/18/2292037.html

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值