欢迎光临

木子屋

标题: 手动编译生成ASP.NET MVC3 Web应用程序项目示例

作者: dnawo

日期: 2013-04-01 06:02 PM

分类: Web编程

内容: 执行下边命令可手动编译生成ASP.NET MVC3 Web应用程序项目[1]，生成的站点文件保存在输出路径的_PublishedWebsites文件夹中：
复制内容到剪贴板 程序代码MSBuild.exe 项目文件 /t:Clean;Build /p:Configuration=Release;OutDir=输出路径
为方便编译生成，将命令写成批处理保存到SendTo文件夹[2]，只需右键单击项目文件，在菜单中选择发送到Release.bat即可：
复制内容到剪贴板 程序代码@echo off
set savedir=F:\Project\Release
rd /s /q %savedir%
C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe %1 /t:Clean;Build /p:Configuration=Release;OutDir=%savedir%
start %savedir%\_PublishedWebsites
问题答疑
问：为什么编译生成上传到服务器发现一些视图文件丢失了？
答：打开项目文件(csproj)，搜索了下，发现如下内容：
复制内容到剪贴板 程序代码<None Include="Views\Account\Create.cshtml" />
<None Include="Views\Account\Details.cshtml" />
<None Include="Views\Account\Edit.cshtml" />
<None Include="Views\Account\Index.cshtml" />
正常它们应该是这样的：
复制内容到剪贴板 程序代码<Content Include="Views\Account\Create.cshtml" />
<Content Include="Views\Account\Details.cshtml" />
<Content Include="Views\Account\Edit.cshtml" />
<Content Include="Views\Account\Index.cshtml" />
查了MSDN，对于None的解释是[3]：
引用内容None - 不在项目输出组中包含该文件，并且在生成进程中不会对其进行编译。例如包含文档的文本文件，如自述文件。
在vs打开丢失文件属性，可以看到生成操作为无，设置为内容，重新编译生成即可：
补充说明
[1].若Visual Studio已关闭，可以直接使用MSBuild.exe生成项目，否则，建议先在Visual Studio生成一次，然后再使用MSBuild.exe，不然可能因为项目文件未保存导致生成有问题；
[2].Windows7下SendTo文件夹路径C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\SendTo；
[3].文件属性：http://msdn.microsoft.com/zh-cn/library/0c6xyb66(v=vs.80).aspx

+ 查看当前日志评论 (0)

登录

────────────

木子屋

PJBlog3 v3.2.9.518 Inside.

Processed In 1.145 ms

返回

标题: 手动编译生成ASP.NET MVC3 Web应用程序项目示例

你没有权限发表评论

────────────

木子屋

PJBlog3 v3.2.9.518 Inside.

Processed In 1.145 ms

返回

暂无评论

返回

────────────

木子屋

PJBlog3 v3.2.9.518 Inside.

Processed In 1.180 ms

返回