Questions tagged «.net-core»

.NET Core是.NET Framework的开源继承者。它可以用于从服务器和数据中心到应用程序和设备的各种应用程序和垂直领域。Microsoft在Windows,Linux和macOS上支持.NET Core。

2
将Visual Studio 2019更新为16.4.0之后,我无法使用目标框架2.2运行测试
我已经更新Visual studio 2019到版本16.4.0。此版本包括.NET Core SDK3.1.100。 在那之后,我尝试在Target Framework2.2版本的项目上运行一些单元测试,但是无法执行。它给出以下错误: Microsoft.VisualStudio.TestPlatform.ObjectModel.TestPlatformException: Testhost process exited with error: It was not possible to find any compatible framework version The framework 'Microsoft.AspNetCore.App', version '2.2.0' was not found. - The following frameworks were found: 3.1.0 at [C:\Program Files (x86)\dotnet\shared\Microsoft.AspNetCore.App] You can resolve the problem by installing the …

2
如何在.NET Core 3.0中替换AddJwtBearer扩展
我有以下代码可以在.NET Core 2.2中进行编译和工作: byte[] key = Encoding.ASCII.GetBytes(Constants.JWT_SECRET); services.AddAuthentication(x => { x.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme; x.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme; }) .AddJwtBearer(x => { x.RequireHttpsMetadata = false; x.SaveToken = true; x.TokenValidationParameters = new TokenValidationParameters { ValidateIssuerSigningKey = true, IssuerSigningKey = new SymmetricSecurityKey(key), ValidateIssuer = false, ValidateAudience = false }; }); 在.NET Core 3.0中,出现错误: 错误CS1061'AuthenticationBuilder'不包含'AddJwtBearer'的定义,并且找不到可以接受的扩展方法'AddJwtBearer'接受类型为'AuthenticationBuilder'的第一个参数(您是否缺少using指令或程序集引用?) …

2
为什么C#编译器在嵌套作用域中允许重复的变量?
历史上,在.Net中进行开发时,我无法在嵌套作用域中重复变量的名称。但是,最近将Visual Studio 2019更新到版本16.4.2之后,我注意到可以在嵌套作用域中复制变量名称。 例如: var test = "hello"; Console.WriteLine(test); var things = new []{"one", "two", "three"}; things.Select(test => // <- test is duplicated here, normally this breaks compilation { Console.WriteLine(test); return test; }).ToList(); // output: // hello // one // two // three https://dotnetfiddle.net/h85BK4 为什么突然允许这样做? 后续问题:如果这是一种新的语言“功能”,是否有一种方法可以配置Visual Studio在嵌套范围中重复变量时继续中断?


2
如何在实体框架核心模型中使用C#8.0可空引用类型?
我在.NET Core 3.0项目上启用C#8.0可空引用类型。该项目使用Entity Framework Core 3.0访问数据库。 以下是标题不应为null的数据模型。 public class Vehicle { public int Id { get; private set; } public string Title { get; private set; } // Entity Framework Core is instructed to bind to the private _drivers field in a configuration builder private readonly List<Driver> _drivers = new …

3
Azure Pipelines托管代理尚不支持.Net Core 3.1?获取NETSDK1045
.Net Core 3.1很好,但我不确定Azure Pipelines托管代理是否赶上了。 我的YAML管道指定: pool: vmImage: 'windows-latest' 然后dotnet restore执行此操作: (_CheckForUnsupportedNETCoreVersion目标)-> C:\ Program Files \ dotnet \ sdk \ 3.0.100 \ Sdks \ Microsoft.NET.Sdk \ targets \ Microsoft.NET.TargetFrameworkInference.targets(127,5):错误NETSDK1045:当前.NET SDK不支持定位.NET Core 3.1。目标.NET Core 3.0或更低版本,或者使用支持.NET Core 3.1的.NET SDK版本。[D:\ a \ 1 \ s \ StatsNZ.BESt.DataService \ StatsNZ.BESt.DataService.csproj] 在.Net Core 3.0中工作正常。 是否有任何变通办法,还是我们必须等待Azure DevOps赶上来?

3
为什么要继续执行Task.WhenAll的延续?
Task.WhenAll在.NET Core 3.0上运行时,我只是对该方法感到好奇。我将一个简单Task.Delay任务作为单个参数传递给Task.WhenAll,并且希望包装后的任务的行为与原始任务相同。但这种情况并非如此。原始任务的延续是异步执行的(这是理想的),多个Task.WhenAll(task)包装的延续是一个接一个地同步执行的(这是不希望的)。 这是此行为的演示。四个辅助任务正在等待同一Task.Delay任务完成,然后继续进行大量的计算(由模拟Thread.Sleep)。 var task = Task.Delay(500); var workers = Enumerable.Range(1, 4).Select(async x => { Console.WriteLine($"{DateTime.Now:HH:mm:ss.fff}" + $" [{Thread.CurrentThread.ManagedThreadId}] Worker{x} before await"); await task; //await Task.WhenAll(task); Console.WriteLine($"{DateTime.Now:HH:mm:ss.fff}" + $" [{Thread.CurrentThread.ManagedThreadId}] Worker{x} after await"); Thread.Sleep(1000); // Simulate some heavy CPU-bound computation }).ToArray(); Task.WaitAll(workers); 这是输出。四个延续在不同线程(并行)中按预期运行。 05:23:25.511 [1] Worker1 before await 05:23:25.542 …

3
枚举类型不再在.Net Core 3.0 FromBody请求对象中工作
我最近将Web API从.Net core 2.2升级到了.Net core 3.0,并注意到当我在端点中将枚举传递给端点时,我的请求现在出错了。例如: 我的api端点具有以下模型: public class SendFeedbackRequest { public FeedbackType Type { get; set; } public string Message { get; set; } } FeedbackType如下所示: public enum FeedbackType { Comment, Question } 这是控制器方法: [HttpPost] public async Task<IActionResult> SendFeedbackAsync([FromBody]SendFeedbackRequest request) { var response = await _feedbackService.SendFeedbackAsync(request); return Ok(response); } …

1
错误:找不到任何已安装的.NET Core SDK
当我运行命令时,docker run -i -t myProject它显示错误: 找不到任何已安装的.NET Core SDK。您是要运行.NET Core SDK命令吗?从以下位置安装.NET Core SDK:https : //aka.ms/dotnet-download 但是,我确实安装了.NET Core SDK,并且PATH是正确的(此后:https : //docs.microsoft.com/zh-cn/aspnet/core/test/troubleshoot?view=aspnetcore-3.1#no-net -core-sdks-被检测到)。 而且,我的项目只需要运行时.NET Core SDK。 有谁知道可能是什么问题? 当运行dotnet --info时,我得到了: .NET Core SDK(反映任何global.json):版本:3.1.101提交:b377529961 运行时环境:OS名称:Windows OS版本:10.0.18363操作系统平台:Windows RID:win10-x86基本路径:C:\ Program Files(x86)\ dotnet \ sdk \ 3.1.101 \ 主机(对支持有用):版本:3.1.1提交:a1388f194c 安装的.NET Core SDK:3.1.101 [C:\ Program Files(x86)\ dotnet \ sdk] …
13 docker  .net-core 

2
如何在.NET Core 3.0实体框架中执行组联接?
随着对.NET Core 3.0的更改,我得到了 ... NavigationExpandingExpressionVisitor'失败。这可能表示EF Core中存在错误或限制。有关更多详细信息,请参阅 https://go.microsoft.com/fwlink/?linkid=2101433。)---> System.InvalidOperationException:处理LINQ表达式'GroupJoin,... 这是一个非常简单的查询,因此必须有一种在.NET CORE 3.0中执行该查询的方法: var queryResults1 = await patients .GroupJoin( _context.Studies, p => p.Id, s => s.Patient.Id, (p, studies) => new { p.DateOfBirth, p.Id, p.Name, p.Sex, Studies =studies.Select(s1=>s1) } ) .AsNoTracking().ToListAsync(); 我基本上是在寻找一个Linq查询(或上面的方法语法),它将查询与研究合并到患者中,并将研究设置为空列表,如果给定患者没有研究,则将其设置为null。 有任何想法吗?这在.NET Core 2.2中正常工作。此外,上面的MSFT链接还提到,密钥突破更改与客户端评估有关,并且避免了生成的查询读取整个表,然后必须对这些表进行联接或过滤。但是,通过此简单查询,可以在服务器端轻松进行联接。

3
找不到指定的框架'Microsoft.NETCore.App'版本'2.2.0'
我正在使用Visual Studio 2019版本16.3.7。我认为这是最新的更新。 当我尝试编译基本的.NET Core 2.2控制台应用程序时: ...我收到以下错误: It was not possible to find any compatible framework version The specified framework 'Microsoft.NETCore.App', version '2.2.0' was not found. - The following frameworks were found: 1.0.1 at [C:\Program Files\dotnet\shared\Microsoft.NETCore.App] 2.0.9 at [C:\Program Files\dotnet\shared\Microsoft.NETCore.App] 2.1.11 at [C:\Program Files\dotnet\shared\Microsoft.NETCore.App] 2.1.12 at [C:\Program Files\dotnet\shared\Microsoft.NETCore.App] 2.1.13 at …

3
实体框架核心中的强类型ID
我正在尝试创建一个强类型的Id类,该类现在在内部保持“ long”。实施如下。我在实体中使用此控件时遇到的问题是,实体框架向我发送一条消息,指出属性ID已映射到其上。请参阅IEntityTypeConfiguration下面的内容。 注意:我的目标不是严格的DDD实现。因此,在评论或回答时请记住这一点。键入后的整个id Id是供开发人员进入的项目,他们被强烈键入要在其所有实体中使用Id,当然可以转换为long(或BIGINT)-但对于其他人则很清楚。 在类和配置下面,这不起作用。可以在https://github.com/KodeFoxx/Kf.CleanArchitectureTemplate.NetCore31中找到该存储库, Id上的课程(现在已注释掉):https : //github.com/KodeFoxx/Kf.CleanArchitectureTemplate.NetCore31/blob/master/Source/Common/Kf.CANetCore31/DomainDrivenDesign/Id.cs Entity和ValueObject类(Entity属性Id的类型为Id.cs(在上面):https : //github.com/KodeFoxx/Kf.CleanArchitectureTemplate.NetCore31/tree/master/Source/Common/Kf.CANetCore31/DomainDrivenDesign 可在以下位置进行配置:https : //github.com/KodeFoxx/Kf.CleanArchitectureTemplate.NetCore31/tree/master/Source/Infrastructure/Persistence/Kf.CANetCore31.Infrastructure.Persistence.Ef/EntityTypeConfigurations Id类实现(现在标记为过时,因为在找到解决方案之前我放弃了这个想法) namespace Kf.CANetCore31.DomainDrivenDesign { [DebuggerDisplay("{DebuggerDisplayString,nq}")] [Obsolete] public sealed class Id : ValueObject { public static implicit operator Id(long value) => new Id(value); public static implicit operator long(Id value) => value.Value; public static implicit operator Id(ulong value) …

5
如何全局设置System.Text.Json.JsonSerializer的默认选项?
更新[2019-12-23]: 部分由于声音社区的投入,此问题已添加到 .NET 5.0 的路线图中。 更新[2019-10-10]: 如果有兴趣看到针对System.Text.Json.JsonSerializer继续阅读Chris Yungmann指出的GitHub公开问题,并发表意见。 代替这个: JsonSerializerOptions options = new JsonSerializerOptions { PropertyNamingPolicy = JsonNamingPolicy.CamelCase // etc. }; JsonSerializer.Deserialize<SomeObject>(someJsonString, options); 我想做这样的事情: // This property is a pleasant fiction JsonSerializer.DefaultSettings = new JsonSerializerOptions { PropertyNamingPolicy = JsonNamingPolicy.CamelCase // etc. }; // This uses my options JsonSerializer.Deserialize<SomeObject>(someJsonString); // And …

2
如何在WPF应用程序的.NET Core 3.0中引用System.Windows.Forms?
我正在将WPF桌面应用程序从.NET Framwork迁移到Core 3.0。我正在使用System.Windows.Forms.FolderBrowserDialog(),现在陷入了如何将此引用添加到Core项目的问题。没有可用的“ System.Windows.Forms” NuGet包,在那里吗?有没有其他方法可以在Core中显示FolderBrowserDialog? 更新资料 我使用默认模板创建了Core项目,然后将粘贴的.cs和.xaml文件复制到其中。.csproj文件如下所示: <Project Sdk="Microsoft.NET.Sdk.WindowsDesktop"> <PropertyGroup> <OutputType>WinExe</OutputType> <TargetFramework>netcoreapp3.0</TargetFramework> <UseWPF>true</UseWPF> </PropertyGroup>

6
CORS策略和.NET Core 3.1的问题
我不确定自己缺少什么,但似乎无法使我的CORS策略与.NET Core 3.1和Angular 8客户端一起使用。 Startup.cs: public void ConfigureServices(IServiceCollection services) { // ... // Add CORS policy services.AddCors(options => { options.AddPolicy("foo", builder => { // Not a permanent solution, but just trying to isolate the problem builder.AllowAnyOrigin().AllowAnyMethod().AllowAnyHeader(); }); }); services.AddControllers(); } public void Configure(IApplicationBuilder app, IWebHostEnvironment env) { if (env.IsDevelopment()) { …

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.