Tag: .net core

如何在Visual Studio 2017中增加运行.NET Core 1.x / 2.x测试的堆大小?

我的测试在命令行上一直运行(使用dotnet.exe test ),但是在Visual Studio 2017中的测试资源管理器中运行它们时,一些测试会崩溃。 由于我之前的调试工作有一些注意事项,一个特定的测试因内存不足exception而崩溃(我不得不缩小测试范围以防止崩溃)。 我正在测试.NET Framework 4.5.1,.NET Core 1.0和.NET Core 2.0(当前方案在.NET Core 1.0上)。 我想知道的是,如果有一种官方的方法来增加Visual Studio 2017中的测试资源管理器的堆大小? 注意:理想情况下,我想将自动命令或配置放在一起,这样任何克隆我的repo并在Visual Studio 2017+中运行测试的人都将拥有增加的堆大小。 我试过的 我发现这篇文章解释了如何增加内存,但它用于增加您正在开发的EXE的大小,而不是用于测试。 我按照说明使用editbin.exe实用程序尝试增加C:\Program Files\dotnet\dotnet.exe ,但这似乎没有任何影响(测试仍然崩溃)。

Docker在VS中运行但在发布到AWS时出错? 错误CS5001:程序不包含适用于入口点的静态“主”方法

我为Visual Studio 2017安装了AWS工具包(V15.7.3),并使用API​​模板和Linux docker支持创建了一个新的空Asp.Net核心2.1项目。 我可以在Visual Studio中运行它。 加载项目后Visual Studio Docker输出 ==========准备容器========== 让Docker容器准备就绪…… docker-compose -f“C:\ work \ Strats \ docker-compose.yml”-f“C:\ work \ Strats \ docker-compose.override.yml”-f“C:\ work \ Strats \ obj \ Docker \ docker-compose.vs.debug.g.yml“-p dockercompose607729401690719332 –no-ansi config 未设置DOCKER_REGISTRY变量。 默认为空字符串。 服务: processfiles: 建立: 上下文:C:\ work \ Strats dockerfile:ProcessFiles / Dockerfile 目标:基地 entrypoint:tail -f / dev / null 环境: […]

ML.NET,“得分列”缺失

我想在ML.NET中创建我的第一个应用程序。 我打赌威斯康星预后乳腺癌数据集 。 我自己生成.csv文件。 该文件的一条记录如下所示: B;11.62;18.18;76.38;408.8;0.1175;0.1483;0.102;0.05564;0.1957;0.07255;0.4101;1.74;3.027;27.85;0.01459;0.03206;0.04961;0.01841;0.01807;0.005217;13.36;25.4;88.14;528.1;0.178;0.2878;0.3186;0.1416;0.266;0.0927 它有31个不同的function(列)。 我的CancerData.cs看起来像这样: class CancerData { [Column(ordinal: “0”)] public string Diagnosis; [Column(ordinal: “1”)] public float RadiusMean; [Column(ordinal: “2”)] public float TextureMean; [Column(ordinal: “3”)] public float PerimeterMean; //……… [Column(ordinal: “28”)] public float ConcavPointsWorst; [Column(ordinal: “29”)] public float SymmetryWorst; [Column(ordinal: “30”)] public float FractalDimensionWorst; [Column(ordinal: “31”, name: “Label”)] public string Label; } […]

.NET核心AWS RDS连接

我正在Amazons AWS上创建一个.NET Core Web API,Elastic Beanstalk。 我正在尝试添加数据库,但是他们添加数据库的指南不适用于.Net Core http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create_deploy_NET.rds.html 它说要使用“ConfigurationManager.AppSettings;”获取相关信息,但这在.NET Core中是不可能的。 有人可以提供一些关于如何获取数据库信息的信息吗? (“RDS_DB_NAME”“RDS_USERNAME”“RDS_PASSWORD”“RDS_HOSTNAME”) 更新我尝试阅读https://docs.microsoft.com/en-us/aspnet/core/fundamentals/configuration但我还没有解决问题。 我似乎无法从AWS获得值。 它只返回我在自己的appsettings.json中设置的内容。这是我的代码:MyOptions.cs public class MyOptions { public MyOptions() { // Set default value. } public string RDS_HOSTNAME { get; set; } public string RDS_PORT { get; set; } public string RDS_DB_NAME { get; set; } public string RDS_USERNAME { get; set; […]

我可以在Linux上运行.NET Core(C#)的SonarQube代码分析吗?

我正在尝试从Linux构建代理程序执行并报告一个针对.NET Core项目的SonarQube代码分析 (目前没有测试覆盖率)。 我从此页面下载了sonar-scanner ,并尝试使用以下命令运行报告(服务器URL在配置中设置)。 sonar-scanner -Dsonar.projectKey=”MyProject” -Dsonar.projectName=”MyProject” -Dsonar.sources=$PWD 执行似乎是成功的,我将完整输出上传到这个要点 。 但是,如果我去SonarQube网站上的项目仪表板,我看不出任何问题或代码气味。 我想确保我的项目至少包含一个错误,所以我在其中一个源文件中添加了一个goto语句,并检查我们的质量配置文件中是否启用了该警告,但我仍然没有遇到任何问题。 (源文件本身被正确选取,我可以在SonarQube中看到文件列表和所有源文件。) 我做错了什么,或者预计这不起作用? (只是为了澄清这不是关于.NET Core的现有问题的重复:我在这里展示的相同命令在Windows上适用于我,它只适用于Linux。)

按键表达存储静态filter

我有一个函数生成一个表达式来过滤一个表的主键,当它在Object[]传递时,这与Find函数非常相似,只是它没有实现,所以你可以在之后传递一个IQueryable public static Expression<Func> FilterByPrimaryKeyPredicate(this DbContext dbContext, object[] id) { var keyProperties = dbContext.GetPrimaryKeyProperties(); var parameter = Expression.Parameter(typeof(T), “e”); var body = keyProperties // e => e.{propertyName} == new {id = id[i]}.id .Select((p, i) => Expression.Equal( Expression.Property(parameter, p.Name), Expression.Convert( Expression.PropertyOrField(Expression.Constant(new { id = id[i] }), “id”), p.ClrType))) .Aggregate(Expression.AndAlso); return Expression.Lambda<Func>(body, parameter); } 这首先获取表的主键,它创建二进制表达式foreach属性,Id以匿名类型包装以利用查询缓存。 这工作正常。 但是,我想更进一步。 […]

如何通过nuget包共享源代码,以便在.NET Core项目中使用

我想在.NET Core项目(.csproj)中使用可用的小部分源代码(例如帮助程序类)。 此时,我根据不同的博客文章和官方nuget文档,以许多不同的方式使用NuGet打包源代码。 我使用了一个nuspec文件来控制我的源文件最终会在nuget包中的位置,例如: 我没有包含任何msbuild目标文件或安装脚本。 每当我将NuGet包安装到.NET Core项目( https://docs.microsoft.com/en-us/dotnet/core/tools/csproj )时,我根本就没有得到任何东西。 我的项目中不会包含任何源文件。 我尝试了.csproj(PrivateAssets等)中的节点的不同设置,但没有成功。 这有可能吗? 如果是这样,应该怎么做? 背景: 这样做的原因是某种钻石问题,我们有项目B和C都使用辅助类A和第三个项目D使用B和C.在这种情况下,我不想处理不同时的汇编版本冲突(在B和C中使用了不兼容的A版本。

配置HttpClientFactory时出现证书错误

我需要在HttpClientFactory中添加证书。 使用HttpClient旧实现看起来像这样: var cookieContainer = new CookieContainer(); var handler = new HttpClientHandler { CookieContainer = cookieContainer }; var basePath = Directory.GetCurrentDirectory(); var certificatePath = Path.Combine(basePath, certPath); var fileExists = File.Exists(certificatePath); if (!fileExists) throw new ArgumentException(certificatePath); var certificate = new X509Certificate2(certificatePath, certPwd); handler.ClientCertificates.Add(certificate); using (var client = new HttpClient(handler)) { client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue(accept)); client.DefaultRequestHeaders.Add(“ApiKey”, apiKey); var body […]

Json post int类型总是0

[HttpPost(“method”)] public string Method(int number) { return number.ToString(); } 为什么数字总是0? 它可以使用像这样的原始类型的json post吗? 我的post:{“number”:3}

使用IFormFile拒绝ASP.Net对路径的核心访问

只需编写一个简单的ASP.NET Core WebAPI,并在使用接受IFormFiles的简单POST端点时: [HttpPost] public async Task<List> Post(List files) { long size = files.Sum(f => f.Length); List result = new List(); Console.WriteLine(files.Count); foreach (var f in files) { if (f.Length > 0) { Directory.CreateDirectory(“Resources”); using (var stream = new FileStream(“Resources”, FileMode.Create)) { await f.CopyToAsync(stream); result.Add(f.FileName); } } } return result; } 我收到此错误: System.UnauthorizedAccessException:拒绝访问路径’F:\ Documents HDD […]