问题标签 [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.
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 论坛上问过这个问题,但没有得到回复。
azure-functions - 解决方案中的多个 Azure 功能项目
我有一个具有多个功能项目的 VS 解决方案。如果我在 VS 中运行解决方案构建,则一切正常,因为它将 bin 和 function.json 推送到相应的项目文件夹中。但是,当我在命令行中运行 msbuild 或 dotnet.exe 并输出到公共文件夹(例如:)时msbuild MB.Azure.sln -property:outdir=\msbuildout
,我可以看到所有库都进入 bin 文件夹,但所有项目的 function.json 文件都被删除,除了最后一个在构建链中构建。
这是预期的行为吗?有什么方法可以让我仍然保留所有 function.JSON 文件?或者是否可以手动生成文件而不是系统自动生成?
-斯里坎特
.net - 传递 --no-build 时如何跳过 .csproj 中的目标?
如何在运行时停止运行 .csproj 文件中<Exec>
标签中的命令?我可以停止使用整个部分吗?<Target>
dotnet publish --no-build ...
<Target>
样本:
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”命令构建或发布应用程序,这些参数还指定以下内容?
窗户认证:真
匿名身份验证:假
.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
。
.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 路径。
visual-studio-code - VSCode 英语/德语 dotnet build 命令语言文本输出
在 VSCode 中,我经常使用德语字符串(计算机语言是德语),但是对于我来说,通常最好有英语错误消息和消息。
我将 VSCode 语言更改为英语。但是,调试输出仍为德语。
当我输入“dotnet”时,它是英文的。当我键入“dotnet build”时,会出现一些德语字符串。
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 命令添加包引用。
.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 起作用?
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。