在visual studio部署包和zip文件夹结构中打包字体

时间:2011-04-12 09:27:23

标签: visual-studio-2010 deployment msbuild build-automation msdeploy

我正在使用MSBuild创建部署包作为构建过程的一部分。我正在使用/t:package作为命令的一部分来调用MSBuild。

除了两件事之外,这很有效。

  1. 我正在使用网络字体,似乎这些不包含在包中(它们包含在项目中)。如何包含这些字体?

  2. zip文件中的文件夹结构很荒谬 - 它包含驱动器号的完整路径。我预计这可能会导致路径名称长度出现问题。有谁知道如何防止这种情况? (我知道这是重复的:Visual Studio Deployment Package - change the file structure the .zip creates?

2 个答案:

答案 0 :(得分:4)

  1. 未部署字体(或任何其他非标准文件)的原因是“构建操作”设置为“无”。要解决此问题,请在解决方案资源管理器中选择该文件,然后将构建操作修改为“内容”。打包你的项目,它将被包括在内。

  2. 我也从不理解文件夹结构。通过使用msdeploy发布站点,它使用该文件夹结构一次部署多个站点。看包装本身时很烦人,但确实“有用”。另外......最大文件长度类似于32k字符。请参阅:Maximum filename length in NTFS (Windows XP and Windows Vista)?

答案 1 :(得分:1)

有一种方法可以更改zip中使用的内部路径:

/p:_PackageTempDir="C:\websites\myNewSite"

可以在msbuild的命令行上使用该开关来更改它在zip中创建的路径。也可以在VS中改变这一点,但不记得我的头脑是多么偏离。