问题标签 [dotnet-sdk]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
1932 浏览

c# - 是否有可能在源代码中抑制 sonarcloud 的警告?

我面临一些 sonarcloud 警告的问题,这些警告在最近的将来不会修复(现在应该被禁用)。

在 CI 上构建期间,sonarcloud 会发出警告。没有任何本地分析器。有没有办法在项目、文件、类和/或方法级别的源代码中抑制某些特定警告?

官方文档没有太大帮助,至少我没有找到解决方案。

sonarcloud 是否尊重一些

或其他基于属性的方法或一些全局设置。

0 投票
1 回答
149 浏览

msbuild - IntermediateAssembly 最初设置在哪里?

我想让你问一下 IntermediateAssembly 最初设置在哪里。

我问我想优化我的作业以仅在初始化 IntermediateAssembly后应用的原因。

考虑以下比较:

dotnet sdk中,我找不到最初设置 IntermediateAssembly 的参考。

0 投票
0 回答
1218 浏览

.net-core - 如何仅使用本地包源在 Linux 上构建具有 win-x64 运行时的 .NET Core 3.1 控制台应用程序?

我有一个特殊的用例,我需要在离线时构建一个干净的存储库。我被允许附加本地 nuget 提要并在本地提供标准 docker 映像。

构建容器基于 linux。

我正在寻找的解决方案涉及使用 dotnet restore 准备本地 nuget 提要,然后在 linux 容器内使用指定的 nuget 源执行 dotnet 构建。

我正在为 win-x64 运行时构建。

环境:

预期结果:

在 docker linux 容器内成功构建。

实际结果:

error NU1101: Unable to find package Microsoft.NETCore.App.Host.win-x64. No packages exist with this id in source(s): local

重现步骤:

  1. 在开发机器上(Win10 1909,使用 dotnet SDK 3.1.302):
    1. mkdir dotnetTest
    2. cd dotnetTest
    3. dotnet new console
    4. dotnet restore --runtime win-x64 --packages $pwd\nuget
    5. 此时,nuget 文件夹包含以下内容(因为这只是一个最小示例):
      1. microsoft.aspnetcore.app.runtime.win-x64
      2. microsoft.netcore.app.runtime.win-x64
      3. microsoft.windowsdesktop.app.runtime.win-x64
    6. docker run --rm -it -v $pwd`:/repo -v $pwd\nuget`:/nuget mcr.microsoft.com/dotnet/core/sdk:3.1.302-alpine3.12
  2. 码头集装箱内部:
    1. dotnet nuget disable source nuget.org
    2. dotnet nuget add source /nuget --name local
    3. cd repo
    4. dotnet build --runtime win-x64

最后一个命令导致:

有趣的部分突出显示:error NU1101: Unable to find package Microsoft.NETCore.App.Host.win-x64. No packages exist with this id in source(s): local

我还应该提到,启动一个新容器并运行,cd repo然后dotnet build --runtime win-x64运行没有问题(丢失Microsoft.NETCore.App.Host.win-x64的内容已被下载)。

经测试的解决方法:

我曾尝试"-p:DisableImplicitNuGetFallbackFolder=true"在开发人员机器上使用 dotnet restore 时: dotnet restore --runtime win-x64 --packages $pwd\nuget "-p:DisableImplicitNuGetFallbackFolder=true".

在这种情况下,结果没有区别。

可能的解决方法:

从(另一个)docker 容器中准备本地 nuget 提要,而不是直接在开发计算机上。然而,这更加复杂,如果不需要(可能需要?)应该避免。

问题:

  1. 是否可以使用从 Windows 机器准备的本地 nuget 提要从 Linux 构建一个 win-x64 控制台应用程序(我上面的方法)?
  2. 任何其他解决方法或指导来完成我尝试做的事情?
0 投票
4 回答
17352 浏览

c# - .NET SDK 未正确安装

我在安装 .NET SDK 时遇到问题,起初当我进入 Visual Studio 2019 时,它说我缺少 dotnet 运行时 sdk,所以我按照要求安装了它并重新启动了我的计算机。然后我再次进入 Visual Studio 2019,出现了同样的问题,我进入命令提示符并输入dotnet --list-sdks并显示no sdks. 我已经安装了所有的运行时,但它说没有找到 SDK。图片 。我尝试重新安装 sdks,但同样的问题仍然存在。我什至甚至重新安装了 IIS。如果不解决此问题,我将无能为力,请尽快提供帮助!

0 投票
2 回答
4220 浏览

c# - 未找到 Visual Studio 2019 .NET SDK

在https://dotnet.microsoft.com/learn/dotnet/hello-world-tutorial/install遇到的问题操作系统:Windows Home x64 版本:3.1.401 Visual Studio 2019

我在安装 .NET SDK 时遇到问题,起初当我进入 Visual Studio 2019 时,它说我缺少 .NET 运行时 SDK,所以我按照它的要求安装了它并重新启动了我的计算机。然后我再次进入 Visual Studio 2019,出现了同样的问题,我进入命令提示符并输入dotnet --list-sdks,它没有显示任何 SDK。我已安装所有运行时,但它显示“未找到 SDK”。我尝试重新安装 SDK,但同样的问题仍然存在。我什至甚至重新安装了 IIS。每当我制作一个简单的控制台应用程序时,它都会打开它,但是当我查看解决方案资源管理器选项卡时,它说有 0 个项目,当我去运行它时,它只是说“附加”,原来是“运行”,并且快捷键也不再起作用来运行它。

图 1

图 2

图 3

图 4

0 投票
0 回答
136 浏览

c# - 为什么我的 .net sdk 样式项目在解决方案资源管理器中显示这么多文件?

我是 SDK 样式项目格式的新手,我只有几个 NuGet PackageReferences。一切正常,直到我认为我弄乱了我支持的平台/构建配置。

构建成功。但是在IDE中编辑这个东西很痛苦。 具有错误文件列表的解决方案资源管理器

这是我的 *.csproj 文件内容:

这是实际的项目目录:

项目目录的 Windows 文件资源管理器视图

0 投票
1 回答
784 浏览

c# - 如何将 Microsoft.DotNet.Arcade.Sdk 安装到 dotnet sdk 文件夹中?

我知道这听起来像是一个愚蠢的问题,但我正在尝试构建一个需要将 Microsoft.DotNet.Arcade.Sdk 6.0.0 安装在“C:\Program Files\dotnet\sdk\5.0.101\ Sdks\Microsoft.DotNet.Arcade.Sdk\Sdk”。
我可以在“Sdks”文件夹中看到“其他”sdk,但看不到“arcade”sdk。

我似乎在https://github.com/dotnet/arcade找不到任何关于如何将此 SDK 安装到我的计算机上的文档。
我确实下载了解决方案并能够构建解决方案,但没有安装它,也没有构建安装程序。

0 投票
0 回答
235 浏览

.net-core - `dotnet new` 在包名称上抛出 401 未经授权而没有版本

所以我有一个发布到 nuget的dotnet 模板,但只有在使用如下版本运行 install 命令时才会安装它:当我在没有版本的情况下运行安装命令时,它给了我一个未经授权的 401。我需要将某种设置添加到我的 csproj 中吗?我 99% 我以前在没有版本的情况下做过这个,它运行得很好。dotnet new --install Foundation.Api::0.3.0dotnet new --install Foundation.Api

这是完整的错误:

0 投票
1 回答
336 浏览

.net-core - 如何通过 MSBuild 包目标将 ref 程序集添加到 NuGet 包?

我正在通过TargetFrameworks开发一个针对 net35 (.NET Framework 3.5)、netstandard2.0 (.NET Standard 2.0) 和 netcoreapp3.1 (.NET Core 3.1) 的库。

对于其中一项功能,该库在内部使用WPF,因此此功能仅在面向 net35 (.NET Framework 3.5) 和 netcoreapp3.1 (.NET Core 3.1) 时有效。

我使用 MSBuild包目标为我的库创建 NuGet 包,但由于 WPF 用于 netcoreapp3.1,我还为 netcoreapp3.1 创建参考程序集,以便非 Windows 平台上的消费者在构建项目时使用该参考程序集,如解释的那样在这个PackageReference 支持部分。

我的问题是:如何指示 MSBuild包目标在创建的 NuGet 包的 'ref/' 文件夹中包含参考程序集?

0 投票
1 回答
4430 浏览

c# - 如何修复“错误 MSB4236:找不到指定的 SDK 'Microsoft.NET.Sdk'。”?

我们已经寻找解决这个问题的方法,但没有成功……网上报告了很多类似的错误,但没有一个建议奏效。

我们在 tfs 中有一个 Web 作业项目,可以在本地编译,但是当我们尝试在 devops 中构建它时,它会失败并出现错误:

该项目针对 .NETframework 4.8。
(如果我编辑项目文件,第一行显示这是错误提到的行号(0,0):

<Project Sdk="Microsoft.NET.Sdk;Microsoft.NET.Sdk.Publish"\>

如何找出它正在寻找的 Microsoft.net.sdk 版本?devops 记录的错误没有给我我可以看到的信息。

我查看了该项目以查看它引用的内容,但它没有任何引用,而是它具有包含程序集和包的依赖项,它们都没有引用任何 Microsoft.NET.Sdk。

我们已经安装了 .NET Core 3.1.405(以及其他)和 MS .Net Framework 4.8 开发人员包,但仍然没有运气。

任何关于下一步尝试的方向都值得赞赏。