Visual Studio项目发布怎么操作

秋婷大大_4136

秋婷大大_4136

2026-08-30

598人浏览

原创

visual studio项目发布需按目标选择路径:文件夹适合本地测试,azure需登录且限新框架,ftp/ftps须配对端口与tls,容器注册表仅支持docker项目;.pubxml配置决定文件包含逻辑,如未设copytopublishdirectory则自定义配置文件不发布,excludefilesfromdeployment可排除指定dll;发布模式选release+独立部署才生成可双击.exe,框架依赖型需目标机预装对应.net runtime,web.config或appsettings.production.json缺失将导致静默500错误。

visual studio项目发布怎么操作

Visual Studio 项目发布不是“点一下就完事”,关键看你要发到哪儿、用什么方式、是否要给别人运行——不同目标对应完全不同的操作路径和陷阱。

右键“发布”后选错目标,文件就发错地方

在 解决方案资源管理器 中右键项目 → 选择 发布,第一步必须明确目标类型:

  • 文件夹:适合本地测试、局域网共享或作为后续打包(如 MSI)的原始输出。路径填 c:\deploy\myapp 即可,别用带空格或中文的路径,否则某些部署工具会报 MSB4018 错误
  • Azure:需提前登录 Azure 账户,且项目必须是 ASP.NET Core / .NET 6+ 或支持的类型;老式 .NET Framework Web 项目选这个可能卡在凭据验证
  • FTP/FTPS:必须填对 服务器地址、用户名、密码 和 目标路径(如 /public_html),注意 FTPS 默认端口是 21,但有些主机要求显式启用 TLS 模式,否则连接后上传失败却无提示
  • 容器注册表(如 Docker Hub、ACR):只对启用了 Docker 支持的项目有效(.csproj 中含 <dockerfilecontext></dockerfilecontext>),否则向导直接跳过该选项

发布配置文件(.pubxml)改错一个属性,整个包就缺文件

发布配置本质是 MSBuild 的 .pubxml 文件,存放在 Properties\PublishProfiles\ 下。常见问题集中在文件包含逻辑上:

Visual Studio Professional 18.8.1
Visual Studio Professional 18.8.1

Visual Studio 18.8.1 官方固定版本安装引导程序,当前条目使用微软发布历史中的 Professional Web Installer,适合旧项目兼容、环境回退、复现特定构建链和排查版本差异等场景。

下载
  • 默认只发布 Content 项(如 wwwroot\**、**\*.json、**\*.cshtml),但你手动加的配置文件(比如 app.settings.prod.json)若没设 CopyToPublishDirectory=PreserveNewest,它根本不会进 publish 文件夹
  • 想排除某个 DLL?不能只在解决方案里“排除”,得在 .pubxml 的 <propertygroup></propertygroup> 里加:
    <excludefilesfromdeployment>Newtonsoft.Json.dll</excludefilesfromdeployment>
  • <webpublishmethod>FileSystem</webpublishmethod> 对应文件夹发布,MSDeploy 对应 IIS 部署,混用会导致 ERROR_DESTINATION_INVALID

控制台或 Web 项目发布后双击不运行?检查发布模式

发布配置里的“配置”下拉框(Debug/Release)直接影响输出类型:

  • .NET 6+ 控制台项目选 Release + 框架依赖型部署 → 输出是 .dll,必须用 dotnet MyApp.dll 运行,双击无效
  • 要生成能双击的 .exe,得勾选 独立部署 并指定运行时(如 win-x64),但体积会从几百 KB 涨到 ~80MB
  • ASP.NET Core Web 项目若发布为框架依赖型,目标机器必须装对应版本的 .NET Runtime(不是 SDK);漏装会报 The specified framework 'Microsoft.AspNetCore.App', version '8.0.0' was not found

最易被忽略的是:发布后的 publish 文件夹里没有 web.config(ASP.NET Core)或缺少 appsettings.Production.json(未设 IsTransformWebConfigRequired 为 false),这类缺失不会中断发布流程,但应用启动就 500 —— 它们不会报错,只会静默失败。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
vscode和visualstudio的区别
vscode和visualstudio的区别

Visual Studio是一款功能强大的集成开发环境(IDE),适用于专业开发人员进行复杂项目的构建。而VSCode则是一款轻量级的代码编辑器,更适合各种规模的项目开发。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

2024.03.15

1116

8

vscode和visualstudio对比分析
vscode和visualstudio对比分析

VSCode是一款轻量级代码编辑器,界面简洁,支持广泛的编程语言,适合个人开发者和小团队。而Visual Studio是一款全功能IDE,界面复杂但功能丰富,适合大型项目开发和团队协作,特别是面向.NET开发。想了解更多vscode的相关内容,可以阅读本专题下面的文章。

2024.04.01

2072

10

LLVM自定义Pass怎么写
LLVM自定义Pass怎么写

本专题聚焦LLVM自定义Pass开发,整理Pass类结构、run()方法、PreservedAnalyses、CMake构建、插件注册、-load-pass-plugin加载和测试用例编写流程。

2026.09.30

120

10

LLVM RISC-V参数配置教程
LLVM RISC-V参数配置教程

本专题介绍LLVM对RISC-V基础ISA和扩展的支持方式,涵盖RV32、RV64、标准扩展、实验性扩展、厂商扩展、-menable-experimental-extensions和版本差异。

2026.09.30

100

14

LLVM IR中间表示入门指南
LLVM IR中间表示入门指南

本专题整理LLVM IR的核心概念,包括中间表示作用、模块结构、函数、基本块、SSA形式、类型系统和常见语法,帮助新手理解LLVM编译流程中的关键层。

2026.09.30

80

12

PDF转图片方法
PDF转图片方法

需要把 PDF 页面用于上传、预览、分享或图片归档时,PDF 转图片方法专题整理 JPG/PNG 格式选择、逐页导出、清晰度设置、批量下载和结果检查等流程,帮助用户稳定完成 PDF 图片化处理。

2026.09.30

60

26

PixTV AI视频生成与无限画布创作
PixTV AI视频生成与无限画布创作

PixTV专题整理AI视频与视觉内容创作相关功能使用教程,涵盖AI生图、视频生成、无限画布、多模型创作、素材管理、声音音乐及视频剪辑等功能,帮助用户快速掌握PixTV从创意到成片的完整制作方法。

2026.09.29

80

15

Buffalo框架数据库开发全教程
Buffalo框架数据库开发全教程

本专题围绕Buffalo框架数据库开发,讲解database.yml多环境配置、soda与fizz迁移生成回滚、模型结构体标签、增删改查与条件查询、一对多与多对多关联、数据校验、回调钩子、事务处理及原生SQL执行能力。

2026.09.23

280

15

Buffalo框架路由与请求处理实操指南
Buffalo框架路由与请求处理实操指南

本专题讲解Buffalo框架路由与请求处理机制,涵盖路由注册与分组、资源路由、Handler编写规范、Context上下文方法、参数绑定、中间件编写挂载、Session与Cookie读写、Flash消息及错误页面定制方法。

2026.09.23

180

15

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Visual Studio 性能优化指南
Visual Studio 性能优化指南

共0课时 | 0人学习

Visual Studio 企业部署手册
Visual Studio 企业部署手册

共0课时 | 0人学习

Visual Studio 扩展开发指南
Visual Studio 扩展开发指南

共0课时 | 0人学习