.net 发布 web应用程序
第一步:VS2015中发布
https://jingyan.baidu.com/article/7f41ecec58f7eb593c095c69.html
(作用:分离开发代码和测试代码)
第二步:发布到IIS
https://jingyan.baidu.com/article/e75aca857c0c79142edac639.html
(将测试代码发布到IIS)
一、对于前后端不完全分离的情况,例如 VS2015(MVC模式)
1如果你是开发人员:那么你可以直接采用第二步,将开发代码直接发布到IIS,
优点就是方便开发,一生成一刷新就能看到改动内容。
2但到了真正测试环节还是要分离,必要时数据库也要分离。
目的是模拟的跟生产环境一模一样,减少在生产环境部署和运行时出现未知问题。
3、其实你还必须考虑生产环境计算机的:
硬件:内存 、CPU、显卡、显示器、IO读写、网络 等。
软件:操作系统和版本、IIS或apache、 数据库类型和版本、浏览器类型和版本等。
用户:年龄、知识背景、操作习惯 等。
最终:用户满意,软件有用、好用、好看。
这些在开发前就必须考虑好,不然开发好了发现用不了,就完了!
二、对于前后端完全分离的情况,例如 前端采用VSCode(vue+elementUI)开发,服务器端采用VS2015(webapi模式)开发。
1前端开发中 运行后就是热加载模式,保存后改动就生效。
但测试环节,需要执行构建的命令,例如:npm run build (这一步会压缩代码)
2服务器端开发中 直接生成。
但测试环节,最好发布到测试版本(测试版本一般不包含源代码)。
三、问题
1 VS中MVC模式点击发布后,生成的文件发布到IIS后,浏览器访问网站出现各种错误,如:样式文件缺失。
看来VS自带的发布功能也没做么好用。那就必须手动删减源代码后直接发布。
可以删除代码文件夹如:BLL、DAL、Model、Controller,后来发现一个特别大的文件obj
百度得: obj是编译文件发布到IIS时可以删。
相关文章摘要: https://bbs.csdn.net/topics/340267613
1.关于bin目录和obj目录
Bin目录用来保存项目生成后程序集,它有Debug和Release两个版本,分别对应的文件夹为bin/Debug和bin/Release,这个文件夹是默认的输出路径,我们可以通过:项目属性—>配置属性—>输出路径来修改。
obj目录是用来保存每个模块的编译结果,在.NET中,编译是分模块进行的,编译整个完成后会合并为一个.DLL或.EXE保存到bin目录下。因为每次编译时默认都是采用增量编译,即只重新编译改变了的模块,obj保存每个模块的编译结果,用来加快编译速度。是否采用增量编译,可以通过:项目属性—>配置属性—>高级—>增量编译来设置。
2.“是否复制到本地”的设置问题
在添加引用时,.NET会记录添加的引用绝对路径,这些设置保存在“每用户”文件中,(Solution.csproj.user),可以通过记事本打开查看。也可以在:项目属性—>通用属性—>引用路径里面查看。如果设置复制到本地为true,在生成项目时会自动拷贝该DLL到项目生成文件夹中(bin目录),否则不会拷贝。在生成项目时,对所添加的引用的是绝对路径,而在运行时程序集默认只在当前所在的路径下去找。要修改引用的路径,必须通过编程的方法去实现。使用References 对象。
具体参见:
http://msdn.microsoft.com/library/chs/default.asp?url=/library/CHS/vbcon/html/vblrfaddmethodreferences.asp
说的都很完善了,我来补充一点。obj这个目录,在开发过程中可能会捣乱,比如你的一个引用的dll,更新了,然后你在vs开发环境里面重新删除后,又重新引用,或者直接更新引用了。因为每次编译时默认都是采用增量编译的原因,所以,这个时候,不论你点多少次编译,你会疑惑,明明是更新引用了,为什么新更新的那些函数和接口不存在,这个时候,你可以手工吧obj目录都删除掉一下,然后重新引用下,就可以正确的看到你更新的那些接口和函数了。这个事实说明,obj在开发过程中,也是会被引用到的,并不只是在编译的时候起作用。
----------------------------
.net 发布 web应用程序的更多相关文章
- 转:OWASP发布Web应用程序的十大安全风险
Open Web Application Security Project(OWASP)是世界范围内的非盈利组织,关注于提高软件的安全性.它们的使命是使应用软件更加安全,使企业和组织能够对应用安全风险 ...
- IIS发布web应用程序之再折腾
最近几个月发布程序比较多,遇到了各种IIS发布web程序后无法访问的问题.原以为对各种问题都已经摸的差不多了,但今天又为一问题折腾了大半天.具体过程祥记如下: 在server2008 R2 64位系统 ...
- vs2012 发布web应用程序
Visual Studio 2012 Visual Studio Express 2012 for Web 与 的Visual Studio 2010 Visual Studio Web发布更新 与 ...
- ASP.NET网站怎么发布 Web项目程序怎么发布部署(暂时收藏)
Web程序如何发布部署呢.网站项目做好了,需要发布出来,提交给客户,装上服务器.那怎么在ASP.NET开发环境中将网站程序发布出来呢 ^_^ 工具/原料 Visual Studio 2010 ( ...
- 发布Web应用程序时发生的“xx.aspx.cs文件不存在”错误
(注意:这里说的Web应用程序并不是Web网站) 在VS里调试.IIS里浏览含.CS源码的项目都是没有问题的.但是发布后,所有的.CS文件都被编译到bin文件夹里去了.在IIS里浏览,发生“分析器错误 ...
- msbuild发布web应用程序
aspnet_compiler.exe 只能编译 网站,web应用程序项目使用下面的命令即可. msbuild C:\Jenkins\jobs\KM_ERP_WEBAPP\workspace\KMWe ...
- 如何在Visual Studio 2012中发布Web应用程序时自动混淆Javascript
同Java..NET实现的应用程序类似,Javascript编写的应用程序也面临一个同样的问题:源代码的保护.尽管对大多数Javascript应用公开源代码不算是很严重的问题,但是对于某些开发者来说, ...
- ASP.NET MVC - 发布web应用程序、部署到IIS
发布项目 右击项目 - 发布 选择IIS - 点击发布 发布方法 - 文件系统,目标位置 - 选择与项目所在目录不同的目录(也即,指定一个发布生成文件的目录),文件发布选项 - 不选 - 点击发布 安 ...
- VS发布web应用程序报:无法识别的特性“xmlns:xdt”。请注意特性名称区分大小写 或 未能将文件obj\...复制到obj\...未能找到路径
问题1:无法识别的特性“xmlns:xdt”.请注意特性名称区分大小写 问题2:未能将文件obj\...复制到obj\...未能找到路径 解决办法:将web项目文件下的obj文件夹从项目中排除,然后再 ...
- 【转】ASP.NET网站怎么发布web项目程序和怎么部署
如何发布: http://jingyan.baidu.com/article/ca00d56c7303ffe99eebcfb0.html windows7 iis安装与配置 如何部署: http:// ...
随机推荐
- 使用secureCRT和Telnet将文件压缩导出到Ubuntu中,到Ubuntu中加压缩发现:tar解压包的时候出现错误gzip: stdin: not in gzip format tar: Child returned status 1 tar: Error is not recoverable: exiting now
细节描述: 问题如题所示:查找博客园和CSDN上查找问题,得到问题解决方法大致如下: 1 修改解压缩命令: 由 tar zxvf software_package.tar.gz变为tar xvf so ...
- 在vue项目中mock数据
第一步:安装: 在命令行中执行: npm install mockjs; 第二步:定义index.js文件 我们新建一个mock文件夹,此文件夹中建一个index.js文件:在index.js中输入以 ...
- SQL语句基本
基础 创建数据库 CREATE DATABASE database-name 1 删除数据库 drop database dbname 1 备份sql server 创建 备份数据的 device U ...
- partial 的随笔
partial class Dmeos { public int Ager { get; set; } public void Run() { Console.WriteLine(Ager); } } ...
- win7系统下dos界面无法自由调整大小
刚开始在win7系统,在dos界面下做MySQL的实验,很多数据不能显示界面上,只能显示固定的大小,以为这是系统的原因,后来在网上查找了一些资料.终于发现可以自由调节dos界面大小的方法.下面给出截图 ...
- FFmpeg命令行工具学习(三):媒体文件转换工具ffmpeg
一.简述 ffmpeg是一个非常强大的工具,它可以转换任何格式的媒体文件,并且还可以用自己的AudioFilter以及VideoFilter进行处理和编辑.有了它,我们就可以对媒体文件做很多我们想做的 ...
- PCD文件格式详解及在PCL下读取PCD文件
一.PCD简介 1.1 PCD版本 在点云库PCL 1.0发布之前,PCD文件格式就已经发展更新了许多版本.这些新旧不同的版本用PCD_Vx来编号(例如PCD_V5.PCD_V6和PCD_V7等),分 ...
- [Swift]LeetCode152. 乘积最大子序列 | Maximum Product Subarray
Given an integer array nums, find the contiguous subarray within an array (containing at least one n ...
- [Swift]LeetCode210. 课程表 II | Course Schedule II
There are a total of n courses you have to take, labeled from 0 to n-1. Some courses may have prereq ...
- [Swift]LeetCode213. 打家劫舍 II | House Robber II
You are a professional robber planning to rob houses along a street. Each house has a certain amount ...