小编mu8*_*u88的帖子

使用MSBuild 14时禁用代码分析

我有一个包含多个C#6.0项目的.NET解决方案。每个项目都通过NuGet引用StyleCop Analyzer。在Visual Studio中,我可以区分构建和分析代码,但是我看不到如何在命令行上(例如,在CI服务器上)使用MSBuild v14.0做到这一点。我打电话msbuild mySolution.sln /t:Rebuild给以下选项,它们都不起作用:

  • /p:RunCodeAnalysis=False
  • /p:RunCodeAnalysisOnThisProject=False
  • /p:RunCodeAnalysis=False,RunCodeAnalysisOnThisProject=False

无论我做什么,警告SAxxxx都会保留在输出中。有谁知道如何在使用MSBuild时禁用代码分析?

背景:在我们的CI服务器上,我想区分“基本MSBuild警告”和来自静态代码分析的警告。

问候

c# msbuild visual-studio-2015 msbuild-14.0

10
推荐指数
2
解决办法
4438
查看次数

如何在 Azure Devops 上安装多个 .NET Core SDK 版本

是否可以azure-pipelines.yml在 Azure DevOps 上安装多个版本的 .NET Core SDK ?如果是,我该怎么做?

我正在尝试使用 ElectronNET 构建 Blazor 服务器应用程序。在我的本地机器上,我可以electronize build /target win毫无问题地运行。但是在 Azure DevOps 上运行构建时,它失败并显示以下错误:

The specified framework 'Microsoft.NETCore.App', version '2.2.0' was not found.
  - The following frameworks were found:
      3.0.0-preview7-27912-14 at [/opt/hostedtoolcache/dotnet/shared/Microsoft.NETCore.App]
Run Code Online (Sandbox Code Playgroud)

我的azure-pipelines.yml看起来像这样:

trigger:
- master

pool:
  vmImage: 'ubuntu-latest'

steps:
- task: DotNetCoreInstaller@0
  displayName: Install .NET Core 2.2 SDK
  inputs:
    packageType: 'sdk'
    version: '2.2.401'

- script: |
    dotnet tool install ElectronNET.CLI -g
  displayName: 'Install global tool ElectronNET.CLI'

- task: …
Run Code Online (Sandbox Code Playgroud)

azure .net-core azure-devops blazor-server-side

6
推荐指数
1
解决办法
2381
查看次数

如何从Visual Studio Code中使用Electron和Angular调试应用程序?

我正在尝试使用最新版本的Angular和Electron开发一个非常简单的应用程序。为此,我遵循了Angular和Electron的教程。经过大量的反复试验,终于可以启动我的应用程序(GitHub上的源代码)。
我使用Visual Studio代码,并且在TypeScript代码中设置断点时,在调试Electron应用程序时永远不会碰到断点。为此,我进行了launch.json如下配置:

{
    "version": "0.2.0",
    "configurations": [
        {
            "type": "node",
            "request": "launch",
            "name": "Launch Program",
            "program": "${workspaceFolder}\\main.js",
            "cwd": "${workspaceRoot}",
            "runtimeExecutable": "${workspaceRoot}/node_modules/.bin/electron",
            "runtimeArgs": [
                ".",
                "--enable-logging"
            ],
            "outFiles": [
                "${workspaceFolder}/dist/**/*.js"
            ],
            "preLaunchTask": "build"
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

我的tasks.json样子是这样的:

{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "build",
            "command": "npm run build",
            "type": "shell",
            "problemMatcher": "$tsc"
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

该build命令的脚本npm run build在my中定义,package.json并且仅调用ng build。因此,在开始调试后,输出将内置到dist文件夹中,然后从那里启动我的Electron应用程序。
在该dist文件夹中,还有一些*.js.map文件,据我所知,这些文件应充当TypeScript文件的桥梁,对吗?

有什么提示为什么我的断点不起作用?

electron visual-studio-code angular

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

System.Data.SqlClient.SqlConnection的底层驱动程序

有谁知道是否System.Data.SqlClient.SqlConnection有自己的实现来访问SQL Server?或者它是否使用以下客户端之一:

  • SQL Server 的 OLE DB 提供程序( SQLOLEDB)(已弃用)
  • SQL Server Native Client ( SQLNCLI)(已弃用)
  • SQL Server 的 OLE DB 驱动程序( MSOLEDBSQL)

c# sql-server sqlconnection

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

分析 EF Core 查询缓存

在我们的 .NET 7 应用程序中,我们看到 EF Core 事件计数器compiled-query-cache-hit-rate始终远低于 100%。根据文档,情况不应该是这样的:

如果该计数器保持稳定在 100% 以下,则表明您的应用程序可能正在执行某些破坏查询缓存的操作 - 最好对此进行调查。

我想知道如何调查此事。我能否以某种方式从 EF Core 引出该查询无法缓存且需要重新编译?

由于我们将 PostgreSQL 与数组类型映射一起使用,并且此功能似乎并不经常使用,因此以下查询让我想知道它是否可能导致问题:

public class Service
{
    internal static readonly List<ProcessState> NoReevaluationIsNeededStates = new() { ProcessState.Received };

    public async Task<int> UpdateAsync(string referencedKey)
    {
        await using MyDbContext context = await ContextFactory.CreateDbContextAsync();
        return await context.Points
            .Where(point => point.Keys.Contains(referencedKey) && !NoReevaluationIsNeededStates.Contains(point.State))
            .ExecuteUpdateAsync(entity => entity.SetProperty(point => point.State, ProcessState.Processed));
    }
}

public class Point
{
    public List<string> Keys { get; set; } …
Run Code Online (Sandbox Code Playgroud)

c# entity-framework-core

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

将 WPF 与 .NET 标准库结合使用

是否可以在 .NET 标准类库中使用 WPF,还是为 .NET Core 保留?如果是这样,是否可以设置使用 WPF 的 .NET Core 类库,或者它是否必须是 .NET Core 应用程序?

wpf .net-core .net-standard

3
推荐指数
1
解决办法
6023
查看次数

避免重复的 Dockerfile

我正在开发一个通过 Docker 提供的 .NET Core 应用程序。我的开发环境是一台使用 Linux 容器的 Windows 机器。生产环境是树莓派。

由于开发和生产之间的架构不同(x64vs. ARM),我有两个不同的 Dockerfile,它们仅在一行(基本映像)上有所不同:

  • 开发时间x64:FROM mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim AS base
  • 生产时间ARM:FROM mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim-arm32v7 AS base

是否可以避免两个不同的文件?如果是,我该怎么做?是否有可能有类似的东西,if或者我可以引用另一个文件(例如Dockerfile.common)?

c# raspberry-pi docker .net-core asp.net-core

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