我在部署我的Web项目(ASP.NET MVC项目)时要部署一个文件,但是我想从解决方案中删除该文件(这是一个非常大的CSS文件,会减慢我的解决方案和如果我错误地打开它会崩溃。)
有没有办法让Azure项目包含此文件,以便将其添加到要部署的包中?
由于
答案 0 :(得分:5)
一个选项是在项目文件中添加一个将添加它的BeforeBuild ItemGroup。为此,请尝试以下操作:
< Target Name =“BeforeBuild”>
< ItemGroup>< Content Include =“Content \ Site2.css”/> < /&的ItemGroup GT;
< /目标>
4.保存并重新加载项目文件
现在,当您打包包含MVC项目的Azure项目时,BeforeBuild目标中添加的内容应该在包中。
答案 1 :(得分:1)
另一个可能有用的选项是将此CSS文件从Azure BLOB存储中提供,而不是从Web角色中提供。我怀疑它经常不会改变吗?
通过使用BLOB存储,您可以轻松打开CDN(比Web角色更容易处理)。
然后,您可以从项目母版页中将绝对URL引用包含回此文件。
如果您想真的聪明,您可以在VS项目中包含非缩小内容以便于编辑,然后缩小并上传到BLOB存储作为MSBuild脚本的一部分。
答案 2 :(得分:0)
将启动cmd添加到服务定义中,以便在实例启动时将CSS从blob存储复制到您的配置。这里有一些适合你的权力:
STARTUP.CMD: powershell Set-ExecutionPolicy不受限制 powershell。\ get-file.ps1
GET-file.ps1: $ obj = new-object System.Net.WebClient $ path =“e:\ approot \” $ url =“http://.blob.core.windows.net//” $ obj.DownloadFile($ url,$ path)
这需要几秒钟来复制文件,基本上是以LAN速度。
如果您之前没有完成启动cmd,则链接到MSDN:
http://msdn.microsoft.com/en-us/library/windowsazure/gg456327.aspx