gpt4 book ai didi

c# - .NET Core 应用在 Visual Studio 中独立发布

转载 作者:行者123 更新时间:2023-11-30 21:35:29 34 4
gpt4 key购买 nike

我已经了解 .NET Core 的“发布”命令以及如何针对不同平台进行发布。例如:

dotnet publish -c Release -f netcoreapp2.0 -r win10-x64

但是,我想知道是否可以直接在 .csproj 文件中指定这些参数?

(我知道 <RuntimeIdentifier> 属性,但使用它,已发布的应用程序不是独立的,更重要的是,不会复制驻留在“runtimes/(OS)/native/”中的任何 native 库.)

我错过了什么吗?

------------------------

编辑:我如何使用 VS IDE 部署独立的 .NET Core 应用程序(以产生与我之前编写的命令相同的输出(dotnet publish ...),最好是通过修改 csproj 文件?

问题似乎是以下问题的克隆:Publish .net core app from VS 2017 (抱歉,之前没有看到)。

最佳答案

不,发布详细信息不能存储在 csproj 中.如果您在 Visual Studio 中创建发布配置文件,详细信息将保存在 pubxml 中和 pubxml.user存储在 Properties\PublishProfiles 中的文件项目文件夹中的文件夹。

pubxml的内容根据发布目标(例如,Azure 与本地文件夹)而有所不同,并且它们没有记录。看起来 Microsoft 真的只是希望您通过 Visual Studio 创建它们。我能找到的最新文档 here甚至带有以下警告:

The .pubxml file shouldn't be checked into source control because it depends on the .user file. The .user file should never be checked into source control because it can contain sensitive information and it's only valid for one user and machine.

我觉得这对企业或团队合作不是很友好,您可能希望标准化发布设置,但这就是我们今天所拥有的。这对我来说似乎很奇怪的另一个原因是配置文件包含许多只能手动修改的设置(例如,Azure 网站配置文件将 <LaunchSiteAfterPublish> 设置为 true,如果您的网站运行,这是一个非常烦人的默认设置在不同的 URL 下)。

所有这些东西的 github 存储库是 aspnet/websdk .

如果您真的想坚持使用命令行(作为一个在别无选择的环境中长大的人,我真的不理解这种趋势),您可以通过这种方式引用现有的发布配置文件:

dotnet publish WebApplication.csproj /p:PublishProfile=<FolderProfileName>

关于c# - .NET Core 应用在 Visual Studio 中独立发布,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49171569/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com