小编Ang*_*ker的帖子

如何仅用英文发布 .NET Core 应用程序?

我使用以下命令发布我的应用程序:dotnet publish -c Debug -r linux-arm. 它工作正常,但是,它为我不需要的语言生成文件夹。

每个文件夹中有这 3 个文件:Microsoft.Data.Edm.resources.dll、Microsoft.Data.OData.resources.dll、System.Spatial.resources.dll。

我根本不使用这些 DLL。

此外,如果我为 Windows 发布,则语言文件夹不存在。仅适用于 Linux-arm。

我如何将发布限制为英文?

在此处输入图片说明

.net c# asp.net-core-mvc .net-core

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

如何使用 .NET Core Web 应用程序分发数据保护密钥?

我有点不清楚数据保护密钥在网络场环境中如何工作。我没有所有服务器都可以使用的通用位置(并且不想处理权限)。因此我想生成一个密钥并将其与网络应用程序一起分发。

我正在执行以下操作,但不确定这是否正确。因此,我在我的开发电脑上本地生成一个密钥文件:

var specialFolder = Environment.SpecialFolder.CommonApplicationData;
var appDataPath = Path.Combine(
     Environment.GetFolderPath(specialFolder),
    "company", 
    "product"
);
services.AddDataProtection().PersistKeysToFileSystem(new DirectoryInfo(appDataPath));
Run Code Online (Sandbox Code Playgroud)

这将创建一个key-some-guid.xml文件。然后我使用我的 Web 应用程序分发此文件。

现在,当我运行 Web 应用程序时,在 Startup.Configure 服务中,将此文件复制到位置appDataPath(上面定义的)并调用services.AddDataProtection().PersistKeysToFileSystem(new DirectoryInfo(appDataPath));.

那行得通吗?或者我从根本上错过了一些东西?

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

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

.NET Core控制台应用程序无法在Windows Server上运行

我有一个相对简单的.NET Core控制台应用程序。它没有外部依赖性。我使用以下方法构建它:

dotnet publish -c Release -r win10-x64
Run Code Online (Sandbox Code Playgroud)

它生成一个\bin\Release\netcoreapp2.2\win10-x64文件夹结构。此文件夹包含许多文件和一个发布文件夹:

在此处输入图片说明

我将整个结构复制到Windows Server2016。根据dotnet --list-runtimes命令,服务器安装了以下运行时:

Microsoft.AspNetCore.All 2.2.1 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
Microsoft.AspNetCore.App 2.2.1 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.NETCore.App 2.2.1 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Run Code Online (Sandbox Code Playgroud)

但是,当我运行.exe文件(netcoreapp2.2\win10-x64\LayoutAutomation.exe)时,出现以下错误:

Error:
  An assembly specified in the application dependencies manifest (LayoutAutomation.deps.json) was not found:
    package: 'runtime.win-x64.Microsoft.NETCore.App', version: '2.2.0'
    path: 'runtimes/win-x64/lib/netcoreapp2.2/Microsoft.CSharp.dll'
Run Code Online (Sandbox Code Playgroud)

如果我尝试从publish文件夹(看似具有整个.NET Core安装)运行exe ,则运行良好。

那么,如何无法从该netcoreapp2.2\win10-x64文件夹运行exe ?.NET Core安装在盒子上-它应该运行。

.net c# windows .net-core windows-server-2016

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

如何查询PNG的位深度?

我有一个 PNG 文件,文件属性证明它具有 8 位颜色深度:

在此处输入图片说明

是的,当我打开文件时

var filePath = "00050-w600.png";
var bitmap = new Bitmap(filePath);
Console.WriteLine(bitmap.PixelFormat);
Run Code Online (Sandbox Code Playgroud)

我明白了Format32bppArgb。我还查看了PropertyIdListPropertyItems属性,但没有看到任何明显的东西。

那么如何从 PNG 中提取位深度呢?

PS 没有框架方法似乎工作。 System.Windows.Media.Imaging.BitmapSource可能有效,但仅适用于 WPF 和 .NET Core 3。我需要它用于 .NET 4.x 和 .NET Core 2.x。

PPS 我只需要知道 PNG 是否是 8 位,所以我写了一个确定的方法来检查是否有人需要它 - 应该在任何框架中工作。

public static bool IsPng8BitColorDepth(string filePath)
{
    const int COLOR_TYPE_BITS_8 = 3;
    const int COLOR_DEPTH_8 = 8;
    int startReadPosition = 24;
    int colorDepthPositionOffset = 0;
    int colorTypePositionOffset = 1;

    try
    {
        using …
Run Code Online (Sandbox Code Playgroud)

.net c# png system.drawing .net-core

5
推荐指数
0
解决办法
791
查看次数

如何解决“ CancellationTokenSource已被处置”错误?

我在.NET Core 2.2.x Web应用程序的日志中看到许多这些错误:

Connection ID ""13546832108852449106"", Request ID ""80018f57-0407-bc00-b63f-84710c7967bb"": An unhandled exception was thrown by the application.

System.ObjectDisposedException: The CancellationTokenSource has been disposed.     
at System.Threading.CancellationTokenSource.ThrowObjectDisposedException()     
at Microsoft.AspNetCore.Server.IIS.Core.IISHttpContext.<>c__DisplayClass314_0.<AbortIO>b__0(Object t)
Run Code Online (Sandbox Code Playgroud)

如您所见,该错误发生在.net核心框架中,而不是我的代码中。

我查找了错误中提到的特定请求ID,似乎已经处理好了。请求处理并返回数据后大约一秒钟,错误就会出现在日志中。我还检查了事件查看器,在错误的时间范围内没有任何可疑之处。

如何解决此问题?

Windows 2016服务器已安装.NET Core 2.2.6运行时。

c# .net-core asp.net-core

5
推荐指数
0
解决办法
148
查看次数

各种 Microsoft.CodeQuality.* 分析器之间有什么区别?

我对 .NET Core 的各种代码分析器有点困惑。

如果您创建默认的 .NET Core Web 项目,您将获得Microsoft.CodeAnalysis.Analyzers.

另外,在NuGet上,还有Microsoft.CodeQuality.Analyzers(注意名称上的细微差别)。安装后,我发现它包含了更多的规则。

最后,还有Microsoft.CodeAnalysis.FxCopAnalyzers,它似乎包含Microsoft.CodeQuality.Analyzers

Microsoft.CodeAnalysis.Analyzers那么、Microsoft.CodeQuality.Analyzers和 之间到底是什么关系呢Microsoft.CodeAnalysis.FxCopAnalyzers?我的项目应该有什么?

PS 创建新项目后,我在 NuGet 中搜索Microsoft.CodeAnalysis.Analyzers包(该包已存在于我的项目中)。它找到它并指出我的项目有 v1.1 并且需要将其升级到 v2.9.4。然而,根据 NuGet 的说法,v1.1 于 2015 年发布。这没有任何意义,因为我使用的是 VS2019,并且该分析器在 2015 年至 2019 年间发布了大量版本。

但是,当我将软件包升级到 2.9.4 时,分析器具有与 v1.1 相同的 3 条规则。那么我到底要升级什么?

.net c# code-analysis .net-core roslyn-code-analysis

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

如何设置电源和睡眠设置?

我想将屏幕和睡眠时间更改为Never代码。我看到阻止屏幕保护程序执行的代码,但没有看到任何有关屏幕和睡眠计时器的信息。

这可能吗?

在此输入图像描述

.net c# windows-10

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

将大型VB6应用程序升级到.NET.关于VB Migration Partner的观点

我有一个非常大的VB6代码库,有大量的第三方控件.想将其移至.NET.重写它是不可能的 - 客户认为没花钱去做同样的事情.使用内置升级向导迁移到.NET基本上是不起作用的.

有没有人从http://www.vbmigration.com/尝试过VB迁移合作伙伴. 如果是这样,有什么样的体验?

.net migration vb6 vb6-migration

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

如何检测鼠标何时离开表格?

我有一个表格,上面有很多控件.如何检测鼠标何时离开表格?我已尝试为每个控件和表单连接一个MouseLeave事件,但这不起作用,因为当鼠标经过控件时,这些事件会一直触发.有没有一种实际有效的方法.

visual-studio-2008 winforms

4
推荐指数
2
解决办法
5572
查看次数

如何编译C程序?

我很久没有做过C了.我想编译这个程序,但我不知道如何继续.似乎makefile引用了很多GCC而且我从未使用过GCC.

我只想要一个可以在Windows上运行的可执行文件.

c windows compiler-construction gcc porting

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