问题标签 [dotnet-build]

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 投票
0 回答
57 浏览

visual-studio - 如何根据操作系统从构建中排除 .NET 5.0 项目

我们有一个包含多个 .NET 5.0 项目的 Visual Studio 解决方案,其中一个是Windows Application( TargetFrameworkis net5.0-windows)。它显然无法在 Linux 和 Mac 上构建。根据操作系统,我们如何使它能够构建或不构建?我们需要支持的场景有:

  1. 从 Windows 上的 Visual Studio 构建。
  2. 在 Windows 和 Mac 上从 JetBrains Rider 构建。
  3. 在 Windows、Mac 和 Linux 上从命令行构建。对于我们目前使用的命令行,dotnet build以及首先构建解决方案的方法。dotnet testdotnet pack
0 投票
0 回答
22 浏览

localization - Blazor 服务器 - 运行 dotnet publish --configuration release 时输出文件夹中缺少本地化 dll (xxx.resources.dll)

我有一个带有 2 个本地化资源文件的 blazor 服务器应用程序,其名称如下:App.no.resx 和 App.resx,但是当使用以下命令进行 dotnet 发布时,这些文件丢失了,

但是当从 VS2019 运行构建时,资源 dll 在“no”文件夹中生成

注意 - 两个本地化资源文件都设置为“嵌入式资源”和“请勿复制”

有人可以告诉我如何解决这个问题吗?

0 投票
0 回答
187 浏览

.net - dotnet 构建在容器内失败

尝试在标准 CI/CD 流的容器中执行 dotnet 构建时,我遇到了一个非常烦人的问题。这些问题似乎是“随机”发生的(从 Jenkins 运行时,平均大约 4/10 的构建失败,而两者之间的代码或配置没有任何更改)。我遇到的问题(在下面的堆栈跟踪中出现的问题似乎有点随机):

  1. MSB4018:CreateAppHost 任务意外失败 - 最常发生
  1. MSB4018:GenerateDepsFile 任务意外失败
  1. NETSDK1029:无法使用 .../apphost 作为应用程序主机可执行文件,因为它不包含预期的占位符字节序列 - 我个人最喜欢 :)

关于现在,我想我已经浏览了所有的搜索结果,但到目前为止没有一个答案有帮助 - 所以也许在这里我会很幸运(并希望在此过程中帮助某人)。

技术数据:

Jenkins 代理
在 RHEL 8.4 和 Podman v. 3.2.3 上运行

容器数据
操作系统 - RHEL7.9 和 RHEL8.4(我都尝试过)使用来自 Jenkins 代理的挂载卷运行(包含从存储库克隆的源代码的目录)。基本 Dockerfile 设置,我使用内部存储库中的 RHEL8 基本映像 - RHEL7 是通过安装 scl-utils 等进行修改的,但总体思路是相同的

.NET 数据
使用 dotnet core 3.1 SDK

当我尝试运行 dotnet 构建时会出现这些问题。Jenkinsfile 首先在第一阶段删除所有 bin/ 和 obj/ 目录,然后为应用程序调用构建。

我尝试过的最有希望的事情:

  • 有人建议需要完全删除文件夹 bin/ 和 obj/ - 这发生在运行前的第一阶段
  • 我尝试将 dotnet publish 命令拆分为:

... 使用dotnet build直接在构建中随机抛出这 3 个错误之一

我尝试使用不同的标志调用 dotnet 构建,例如“不并行”,认为线程可能是某种根本原因(我收到很多“进程无法访问文件,因为它正被另一个进程使用”警告 - 但这些发生了对于成功的构建 - 默认的 dotnet 重试似乎正在处理那些

有人知道我可能会错过什么吗?CI/CD 管道之前直接在 RHEL7.7 代理上运行(不使用容器)。现在我们想使用新版本的 RedHat 迁移到容器化构建 - 但这些随机重复出现的问题阻碍了我,所以如果有人有任何建议 - 非常感谢;)

0 投票
1 回答
61 浏览

visual-studio-code - Dotnet CLI webapi 项目构建失败 - 错误 MSB3021

机器:Windows 10。 SDK:5.0.401 项目类型:webapi

问题:运行dotnet build产生以下... 在此处输入图像描述

我已经尝试过的事情:

  • resmon.exe => 查找 apphost.exe 句柄或 API.exe 句柄。没有找到。
  • 重新安装 VS 代码
  • 重新安装 SDK
  • 完全删除解决方案,保留代码的备份副本,然后重新创建它。

有趣的是,如果我重新启动机器,问题就会消失,但当我运行dotnet rundotnet watch run.

恐怕我不允许发布任何代码/项目结构,但请告诉我是否还有其他可以提供帮助的东西。

更新

这是dotnet --info输出:

0 投票
1 回答
238 浏览

.net - 在 netstandard2.0 和 4.7.2 的解决方案中,dotnet 构建失败并出现“类型或命名空间名称...不存在”

我有一个包含两个项目的解决方案,一个针对 4.7.2,一个针对 netstandard2.0。我可以在 Visual Studio 2019 中很好地构建解决方案。但是,当我运行dotnet build MySolution.sln它时,它会失败,并出现与该项目中引用的 nuget 包相关的一些“命名空间类型 ... 不存在”错误。

所有源代码都可以在https://github.com/marknadig/TestBuild获得。

第一个项目“MyService”是一个 .net 4.7.2 类库项目。

如您所见,MyService 项目引用了针对“netstandard20”的 AuthenticatorService 项目。

dotnet --version报告5.0.402

如何让 dotnet build 构建?

0 投票
1 回答
20 浏览

c# - 在 dot net 中为多个运行时构建项目

我试图为多个目标构建一个项目。我使用 net 5 框架,我想为 win64 和 linux64 运行时构建应用程序。

问题

缺少 linux 64 文件夹

csproj 文件:

然后我运行 cli 命令:

文件夹中的结果: 在此处输入图像描述

结果中的预期文件夹(使用 --runtime linux64 运行时)

在此处输入图像描述