我正在使用MSBuild创建部署包作为构建过程的一部分。我正在使用/t:package
作为命令的一部分来调用MSBuild。
除了两件事之外,这很有效。
我正在使用网络字体,似乎这些不包含在包中(它们包含在项目中)。如何包含这些字体?
zip文件中的文件夹结构很荒谬 - 它包含驱动器号的完整路径。我预计这可能会导致路径名称长度出现问题。有谁知道如何防止这种情况? (我知道这是重复的:Visual Studio Deployment Package - change the file structure the .zip creates?)
答案 0 :(得分:4)
未部署字体(或任何其他非标准文件)的原因是“构建操作”设置为“无”。要解决此问题,请在解决方案资源管理器中选择该文件,然后将构建操作修改为“内容”。打包你的项目,它将被包括在内。
我也从不理解文件夹结构。通过使用msdeploy发布站点,它使用该文件夹结构一次部署多个站点。看包装本身时很烦人,但确实“有用”。另外......最大文件长度类似于32k字符。请参阅:Maximum filename length in NTFS (Windows XP and Windows Vista)?
答案 1 :(得分:1)
有一种方法可以更改zip中使用的内部路径:
/p:_PackageTempDir="C:\websites\myNewSite"
可以在msbuild的命令行上使用该开关来更改它在zip中创建的路径。也可以在VS中改变这一点,但不记得我的头脑是多么偏离。