相关疑难解决方法(0)

C#8是否支持.NET Framework?

在Visual Studio 2019 Advanced Build设置中,C#8似乎不适用于.NET Framework项目,而仅适用于.NET Core 3.0项目(如下图所示):

在此处输入图片说明

C#8是否支持.NET Framework?

.net c# visual-studio .net-standard c#-8.0

52
推荐指数
2
解决办法
9569
查看次数

如何在 C# 7.3 中使引用类型可为空?

我现在无法升级Net。我想实现这样public SiteOptionModel? Site { get; set; }的目标bool?。但它说我应该升级.Net,但我担心升级.Net会毁掉一个相当大的项目。有什么办法可以实现这一点吗?

public bool IsVisibleInGrid { get; set; }
public SiteOptionModel? Site { get; set; }
public bool? IsDeleted { get; set; }

Run Code Online (Sandbox Code Playgroud)

LinQ 查询显示没有 SiteId 的错误

from truck in database.Truck
   where truck.CarrierId == carrierId
         && (truck.IsDeleted == null || truck.IsDeleted == false)
   orderby truck.Code
   select new CarrierDetailViewModel.TruckModel2
   {
       Id = truck.TruckId,

       Site = new CarrierDetailViewModel.SiteOptionModel{
            Id = (int)truck.SiteId,
            Name = truck.Site.Name,
            Code = truck.Site.Code
       }
   } ;

Run Code Online (Sandbox Code Playgroud)

错误

严重性代码 说明 …

.net linq

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

如何在一处更改解决方案中所有项目的 C# 语言版本?

我有一个包含 20 个项目的解决方案,我想将所有项目的 C# 版本更改为 C# 7.3

有没有一种方法可以一次性更改所有项目的版本?我知道我可以从项目属性更改语言版本,但我不想重复此操作 20 次。

在此输入图像描述

c# visual-studio visual-studio-2017

9
推荐指数
2
解决办法
8638
查看次数

为文件夹分支中的所有类启用 C# 8.0 的 Nullable Reference Types 功能

我希望禁用文件夹及其子文件夹中包含的所有文件的可空引用类型功能。

我知道我可以放在#nullable disable每个文件的顶部,并且已经阅读了整个项目/解决方案的示例但是无法找到针对特定文件夹执行此操作的方法。

是否可以?

谢谢。

c# c#-8.0 nullable-reference-types

6
推荐指数
0
解决办法
462
查看次数

.NET Framework项目中的可空引用类型不能与IntelliSense一起使用

当我创建一个新的控制台应用程序(.NET Framework 4.8)并尝试使用C#8的可为空的引用类型时,我看到以下内容:

可为空的引用类型的注释只能在“ #nullable”注释上下文中的代码中使用

而且,我在构建输出中得到以下警告:

warning CS8632: The annotation for nullable reference types should only be used in code within a '#nullable' annotations context.
Run Code Online (Sandbox Code Playgroud)

可以理解,我尚未启用可为空的引用类型。我将以下内容添加到我的.csproj中:

warning CS8632: The annotation for nullable reference types should only be used in code within a '#nullable' annotations context.
Run Code Online (Sandbox Code Playgroud)

这使构建警告消失,但是Visual Studio的IntelliSense一直在抱怨

如何配置Visual Studio,使其理解我在.NET Framework项目中使用可为空的引用类型,而无需#nullable在所有地方使用?


相反,如果我创建一个新的.NET Core 3.0控制台应用程序,那么一切都会按预期进行。

intellisense visual-studio c#-8.0 nullable-reference-types .net-4.8

5
推荐指数
1
解决办法
213
查看次数

NetCore 6 - 将 null 文字或可能的 null 值转换为不可为 null 的类型

我将项目更新到 NetCore 6,但收到警告:

Converting null literal or possible null value to non-nullable type.
Run Code Online (Sandbox Code Playgroud)

例如在单元测试中:

String source = null;
String expect = null;

String actual = source.ToSafeBase64Url(); 
Run Code Online (Sandbox Code Playgroud)

我在代码的多个地方收到此警告。

我应该如何解决这个问题?

c# .net-core asp.net-core c#-10.0

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

Json.NET JsonConvert.DeserializeObject()返回null值

我试图反序列化这个字符串:

string _jsonObject = {\"Ad\":{\"Type\":\"Request"\,
         \"IdAd\":\"xxx@xxx.com\",
         \"Category\":\"cat\",
         \"SubCategory\":\"subcat\"},
\"Position\":{\"Latitude\":\"38.255\",
              \"Longitude\":\"1.2\",
              \"Imei\":\"0123456789\"};
}";

Message _message = JsonConvert.DeserializeObject<Message>(_jsonObject);
Run Code Online (Sandbox Code Playgroud)

适用于"广告"而非实际的"位置".任何的想法 ?

c# serialization json json.net

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