我有一个包含多个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警告”和来自静态代码分析的警告。
问候
是否可以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) 我正在尝试使用最新版本的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文件的桥梁,对吗?
有什么提示为什么我的断点不起作用?
有谁知道是否System.Data.SqlClient.SqlConnection有自己的实现来访问SQL Server?或者它是否使用以下客户端之一:
SQLOLEDB)(已弃用)SQLNCLI)(已弃用)MSOLEDBSQL)在我们的 .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) 是否可以在 .NET 标准类库中使用 WPF,还是为 .NET Core 保留?如果是这样,是否可以设置使用 WPF 的 .NET Core 类库,或者它是否必须是 .NET Core 应用程序?
我正在开发一个通过 Docker 提供的 .NET Core 应用程序。我的开发环境是一台使用 Linux 容器的 Windows 机器。生产环境是树莓派。
由于开发和生产之间的架构不同(x64vs. ARM),我有两个不同的 Dockerfile,它们仅在一行(基本映像)上有所不同:
x64:FROM mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim AS baseARM:FROM mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim-arm32v7 AS base是否可以避免两个不同的文件?如果是,我该怎么做?是否有可能有类似的东西,if或者我可以引用另一个文件(例如Dockerfile.common)?
c# ×4
.net-core ×3
angular ×1
asp.net-core ×1
azure ×1
azure-devops ×1
docker ×1
electron ×1
msbuild ×1
msbuild-14.0 ×1
raspberry-pi ×1
sql-server ×1
wpf ×1