在Visual Studio 2019 Advanced Build设置中,C#8似乎不适用于.NET Framework项目,而仅适用于.NET Core 3.0项目(如下图所示):
C#8是否支持.NET Framework?
我现在无法升级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)
错误
严重性代码 说明 …
我希望禁用文件夹及其子文件夹中包含的所有文件的可空引用类型功能。
我知道我可以放在#nullable disable每个文件的顶部,并且已经阅读了整个项目/解决方案的示例,但是无法找到针对特定文件夹执行此操作的方法。
是否可以?
谢谢。
当我创建一个新的控制台应用程序(.NET Framework 4.8)并尝试使用C#8的可为空的引用类型时,我看到以下内容:
而且,我在构建输出中得到以下警告:
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
我将项目更新到 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)
我在代码的多个地方收到此警告。
我应该如何解决这个问题?
我试图反序列化这个字符串:
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)
适用于"广告"而非实际的"位置".任何的想法 ?