问题标签 [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 投票
1 回答
274 浏览

c# - 从 TeamCity 执行时,Dotnet 构建的行为不同

我们看到一个 Lucene.NET 分析器生成警告,在执行dotnet build我们的一个 ASP.NET Core 3.1 Web 应用程序时不应该出现该警告。奇怪的是,这个警告似乎只在使用 TeamCity 中的 .NET 运行程序执行时才会发生;dotnet build当直接从 PowerShell 运行程序或从同一台计算机上的 PowerShell 控制台(使用相同的用户帐户、相同的文件夹、相同的代码)运行命令时,它(正确地)不会发生。

构建警告实际上是由于一个错误(已在更高的 Lucene.NET 版本中修复),但关键是我们看到了不同的行为。

我们尝试运行构建日志中显示的完全相同的命令,包括将 TeamCity 生成的 RSP 文件传递​​给它。尽管如此,在 .NET 运行器之外,我们仍无法重现该警告。我们确认相同的用户帐户运行该进程,使用相同的 NuGet 缓存和 dotnet.exe(和 .NET SDK),在相同的文件夹中运行相同的代码,具有相同的参数。

我们唯一能想到的是,.NET 插件的执行dotnet build方式有所不同,但在构建日志中是不可见的。但是,我们不知道还有什么可以尝试或调查的。

您能否帮助确定两个版本的差异可能在哪里?先感谢您!

我之前在TeamCity 论坛上问过这个问题,但没有得到回复。

0 投票
1 回答
283 浏览

azure-functions - 解决方案中的多个 Azure 功能项目

我有一个具有多个功能项目的 VS 解决方案。如果我在 VS 中运行解决方案构建,则一切正常,因为它将 bin 和 function.json 推送到相应的项目文件夹中。但是,当我在命令行中运行 msbuild 或 dotnet.exe 并输出到公共文件夹(例如:)时msbuild MB.Azure.sln -property:outdir=\msbuildout,我可以看到所有库都进入 bin 文件夹,但所有项目的 function.json 文件都被删除,除了最后一个在构建链中构建。

这是预期的行为吗?有什么方法可以让我仍然保留所有 function.JSON 文件?或者是否可以手动生成文件而不是系统自动生成?

-斯里坎特

0 投票
1 回答
186 浏览

.net - 传递 --no-build 时如何跳过 .csproj 中的目标?

如何在运行时停止运行 .csproj 文件中<Exec>标签中的命令?我可以停止使用整个部分吗?<Target>dotnet publish --no-build ...<Target>

样本:

0 投票
1 回答
70 浏览

asp.net-core - 通过“dotnet”命令构建或发布,参数/参数指定 windows Authentication=true 和匿名 Authentication=false

以下是有关我们开发环境的详细信息:

DevExpress 20.2.3(我们使用的是 DevExtreme)

Microsoft Visual Studio Enterprise 2019(版本 16.4.6)

ASP.NET 核心 3.1.0

AspNetCore.Mvc 3.1.0.0

Microsoft SQL Server 2008 R2 (RTM) –</p>

dotnet –版本 3.1.300

我们的部署服务器环境详细信息是:

Windows Server 2016 标准 64 位操作系统

dotnet –版本 3.1.300

IIS 版本 10

我们的目标是使用 dotnet 命令行构建和部署/打包:

适用于 .NET Core 的 Microsoft (R) Build Engine 版本 16.6.0+5ff7b0c9e 版权所有 (C) Microsoft Corporation。版权所有。

在 .\PublishedDirectory\appsettings.json 中有以下内容:

在 .\PublishedDirectory\appsettings.Development.json 中有以下内容:

最后在 .\PublishedDirectory\web.config 中,我们有以下内容:

应用程序需要发布和部署以下内容:

窗户认证:真

匿名身份验证:假

D:\AppCodeArena\StrangeAcmeApplication>dotnet build -c Release --runtime win10-x64 .\StrangeAcmeApplication.Uploaders.sln

D:\AppCodeArena\StrangeAcmeApplication>dotnet publish .\src\StrangeAcmeApplication.Uploaders\StrangeAcmeApplication.Uploaders.csproj --runtime win10-x64 --no-build -c Release --output .\PublishedDirectory /p:DebugType=None /p :DebugSymbols=false /p:EnvironmentName=Development --self-contained true

有人可以告诉我如何使用带有参数/参数的“dotnet”命令构建或发布应用程序,这些参数还指定以下内容?

窗户认证:真

匿名身份验证:假

0 投票
1 回答
487 浏览

.net - .net 5 dotnet 构建在 Linux CentOS/Redhat 上恢复时挂起

dotnet build在机器上安装 .net 5 sdk 后挂起恢复。当我取消时,它显示以下内容:

nuget 配置设置为使用代理~/.nuget/NuGet/NuGet.Config

我不确定发生了什么变化,据我所知,代理 url 没有任何变化。这以前适用于 .net core 3.1,但在安装新的 sdk 后不再适用。

有什么改变需要我解决吗?我在 .net 5 更改日志中没有看到任何关于此的内容。至少从我搜索任何东西nuget

0 投票
1 回答
188 浏览

.net - 如何解决找不到规则集文件“ManagedMinimumRules.ruleset”错误

提前致谢,非常感谢您的帮助!

我正在使用此代码 dotnet build E:\abc\abc.sln /p:Congiguration=Release,但它在错误以下给出错误:

C:\Program Files\dotnet\sdk\5.0.201\Microsoft.CSharp.CurrentVersion.targets(135,9):警告 MSB3884:找不到规则集文件“ManagedMinimumRules.ruleset”。

此规则集 ManagedMinimumRules.ruleset 文件从Microsoft.CSharp.CurrentVersion.targets文件调用。

我看到目标文件行号 135 的代码如下:

我手动粘贴了规则集文件,但仍然无法正常工作,请解释一下如何从目标文件中获取 CodeAnalysisRuleSet 、 CodeAnalysisRuleSetDirectories 路径。

0 投票
0 回答
25 浏览

visual-studio-code - VSCode 英语/德语 dotnet build 命令语言文本输出

在 VSCode 中,我经常使用德语字符串(计算机语言是德语),但是对于我来说,通常最好有英语错误消息和消息。

我将 VSCode 语言更改为英语。但是,调试输出仍为德语。

当我输入“dotnet”时,它是英文的。当我键入“dotnet build”时,会出现一些德语字符串。

0 投票
0 回答
523 浏览

c# - MSB3474:MSBuild 的 .NET Core 版本不支持任务“SGen”。改用 Microsoft XML Serializer Generator 包

步骤:1 代码: dotnet build E:\abc.csproj /p:Platform=ANYCPU /p:Configuration=Release 。 错误: C:\Program Files\dotnet\sdk\5.0.202\Microsoft.Common.CurrentVersion.targets(3624,5):错误 MSB3474:.NET Core 版本的 MSBuild 不支持任务“SGen”。请改用 Microsoft XML Serializer Generator 包。有关详细信息,请参阅https://go.microsoft.com/fwlink/?linkid=858594。[E:\abc.csproj]

步骤:2我已经应用了以下解决方案,但没有奏效。命令:dotnet add E:\abc.csproj package Microsoft.XmlSerializer.Generator -v 1.0.0

我已阅读文档并实施了解决方案,但该解决方案存在一些问题。sp 命令:'dotnet add E:\abc.csproj package Microsoft.XmlSerializer.Generator -v 1.0.0' 错误:确定要恢复的项目...正在写入 C:\Users\AppData\Local\Temp\tmpF1E.tmp 信息:将包“Microsoft.XmlSerializer.Generator”的 PackageReference 添加到项目“E:\abc.csproj”中。错误:将包“Microsoft.XmlSerializer.Generator”添加到项目“E:\abc.csproj”时出错。项目不支持通过 add package 命令添加包引用。

https://go.microsoft.com/fwlink/?linkid=858594

0 投票
0 回答
100 浏览

.net - dotnet publish 没有 dotnet build 中存在的一些 Nuget 依赖项

假设我有以下项目结构:

NuGet 包包含库 B 在运行时需要的一些资产。包的 nuspec 文件如下所示:

问题是:assets 不仅会被复制到 ExecutableProject 的输出路径,还会复制到 Project A 和 Project B 的输出路径。这是一个问题,如果有很多 nuget 包,有很多资产文件和项目依赖关系图很深,因为它增加了构建时间。

我通过添加一个 buildTransitive .targets 文件来使其工作,该文件仅在项目是可执行项目时复制内容文件:

我将 .nuspec 文件中的 copyToOuptut 设置为 false 以阻止 msbuild 将内容文件复制到每个库项目输出文件夹中。现在我的问题是,当我使用 dotnet publish 构建和部署应用程序时,nuget 包的依赖项也不会复制到目标文件夹,而这适用于 dotnet build。

我现在已经尝试将“buildtransitive.target”文件中的“AfterTargets”值设置为“Publish”,但它没有帮助。

也许有人和我有同样的问题,可以告诉我为什么 dotnet publish 不起作用但 dotnet build 起作用?

0 投票
0 回答
90 浏览

c# - VS IDE 可以构建,但是运行“dotnet build”命令然后得到“.NETFramework,Version=v5.0 were not found”

我的 Visual Studio Pro 2019 是 v16.11.2。我可以通过按下构建按钮毫无问题地构建我的 mvc 项目,并很好地运行这个项目。当然,我已经在我的 win10 上安装了 .net sdk 5.0.400

在此处输入图像描述

目前我正在学习 docker,所以我需要运行命令来构建我的项目。

dotnet build "MVConDocker.csproj" -c 发布 -o /app/build

不幸的是它失败了。

错误 MSB3971:未找到“.NETFramework,Version=v5.0”的参考程序集。

在此处输入图像描述

在 global.json 文件中,它是 5.0.400。