小编Und*_*Emo的帖子

使用升级辅助升级到 .net standard 2.0 从 .net Framework 4.7.2 升级到 net 6

我正在尝试将解决方案内的项目从 .net Framework 4.7.2 升级到 net6.0,但是在第一个项目(类库)升级后,它会导致 .net standard 2.0 而不是 net 6.0。正在使用的助手版本是(版本“0.3.261602”)。我还安装了net 6 sdk

我正在使用此处提供的命令

以下是我尝试过的命令和结果

upgrade-assistant upgrade --target-tfm-support lts "C:\Users\..\..\mySolution.sln" 
upgrade-assistant upgrade --target-tfm-support "C:\Users\..\..\mySolution.sln"
Run Code Online (Sandbox Code Playgroud)

这两个命令都会升级到 .net standard 2.0

upgrade-assistant upgrade --target-tfm-support latest "C:\Users\..\..\mySolution.sln" 
Run Code Online (Sandbox Code Playgroud)

错误:无法将选项“--target-tfm-support”的参数“最新”解析为预期类型 Microsoft.DotNet.UpgradeAssistant.UpgradeTarget。

upgrade-assistant upgrade --target-tfm-support net6.0 "C:\Users\..\..\mySolution.sln" 
Run Code Online (Sandbox Code Playgroud)

错误:无法将选项“--target-tfm-support”的参数“net6.0”解析为预期类型 Microsoft.DotNet.UpgradeAssistant.UpgradeTarget。

以下是项目升级后的结果

1. [Complete] Back up project
2. [Complete] Convert project file to SDK style
3. [Complete] Clean up NuGet package references
4. [Complete] Update TFM
5. [Complete] Update NuGet Packages
6. [Complete] Add template files
7. …
Run Code Online (Sandbox Code Playgroud)

.net-4.7.2 .net-6.0

6
推荐指数
1
解决办法
1万
查看次数

如何 Moq Fluent 接口/链方法

我正在使用 Daniel Cazzulino 的 moq 框架,kzu 版本 4.10.1。我想要最小起订量,以便我可以测试功能的特定部分(以下是我可以提取的代码的简单版本)

fluent/chain 方法的设计使您可以通过 Id 获取对象,并在需要时包含任何其他信息。

当函数调用 moq'ed 方法时,我在获取正确的对象时遇到了一些麻烦,该方法当前正在返回最后一个错误的 moq'ed 对象

 /*My current Moq setup*/

class Program
{
    static void Main(string[] args)
    {
        var mock = new Mock<IFluent>();

        var c1 = new ClassA() { Id = 1, Records = new List<int>() { 5, 2, 1, 10 }, MetaData = new List<string>() };
        var c2 = new ClassA() { Id = 2, Records = new List<int>(), MetaData = new List<string>() { "X", "Y", "Z" } …
Run Code Online (Sandbox Code Playgroud)

c# testing fluent moq chain

5
推荐指数
2
解决办法
1255
查看次数

.Net Core 3.0 hostfxr.dll 找不到

使用.net core 3.0和wpf

我已经成功在 wpf 中为 .net core 3.0 构建了一个应用程序,并且在我安装了 Visual Studio(开发环境)的地方运行良好。

但是,一旦我复制发布文件夹并在另一台计算机上运行它,我就会找不到 hostfxr.dll 如果这是依赖于框架的应用程序,请在全局位置 C:\program files\dotnet 中安装运行时或使用 DOTNET_ROOT环境变量指定运行时位置

我已经安装了 3.0 预览运行时,它匹配位置并设置 DOTNET_ROOT 环境变量并将其指向运行时位置 C:\program files\dotnet

缺少什么吗?

wpf .net-core

4
推荐指数
1
解决办法
1万
查看次数

System.Text.Json转换器获取整个字符串对象

所以我遇到的情况是我的 NewtonJson 自定义转换器无法与 body api 调用一起使用。(默认使用 System.Text.Json 进行转换)。

所以目前我有一个临时解决方案来编写一些包装器,这些包装器最终将调用 Newtonjson,直到编写并测试 text.json 转换器。

我想做的是将整个对象作为字符串读取并将其传递给牛顿转换器

我的 StartUp.cs

 services.AddControllers(options =>
        options.Filters.Add<ApiExceptionFilterAttribute>())
            .AddFluentValidation(x => x.AutomaticValidationEnabled = false)//ValidationBehaviour handle fluent validations.
            .AddJsonOptions(x =>
            {
                x.JsonSerializerOptions.Converters.Add(new JsonStringEnumConverter());
                x.JsonSerializerOptions.Converters.Add(new SystemModelConverter());
                x.JsonSerializerOptions.IgnoreNullValues = true;
            });
Run Code Online (Sandbox Code Playgroud)

我的转换器类

 public class SystemModelConverter : JsonConverter<ISystemModel>
{
    public override bool CanConvert(Type typeToConvert)
    {
        return (typeToConvert.GetInterface(typeof(ISystemModel).Name) != null);
    }

    public override ISystemModel Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
    {
        var value = new StringBuilder();
        while(reader.Read())
        {
            var str = reader.GetString();
            value.Append(str);
        }
        //passing …
Run Code Online (Sandbox Code Playgroud)

.net c# json system.text.json

2
推荐指数
1
解决办法
2025
查看次数

标签 统计

c# ×2

.net ×1

.net-4.7.2 ×1

.net-6.0 ×1

.net-core ×1

chain ×1

fluent ×1

json ×1

moq ×1

system.text.json ×1

testing ×1

wpf ×1