Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net Web.config在Azure部署期间发生了(剧烈)更改_Asp.net_Azure_Web Config_Azure Deployment - Fatal编程技术网

Asp.net Web.config在Azure部署期间发生了(剧烈)更改

Asp.net Web.config在Azure部署期间发生了(剧烈)更改,asp.net,azure,web-config,azure-deployment,Asp.net,Azure,Web Config,Azure Deployment,部署到Azure后,我不断收到服务器错误——应用程序无法运行。所以我在实例中做了一个远程桌面,发现web.config被彻底检修了……发生了什么事?我以为web.config是按原样打包的?相反,整个配置已被替换。当我将“新”版本替换为原始的、未经更改的、正确的配置时,我的应用程序会按预期工作 首先,这里发生了什么?我做错了什么?这样我就可以理解,而不是在将来复制 第二,我如何阻止这种行为?我希望部署原始的web.config,而不是一些任意的冒名顶替者。谢谢大家! 除非指定了转换(使用普通的内

部署到Azure后,我不断收到服务器错误——应用程序无法运行。所以我在实例中做了一个远程桌面,发现web.config被彻底检修了……发生了什么事?我以为web.config是按原样打包的?相反,整个配置已被替换。当我将“新”版本替换为原始的、未经更改的、正确的配置时,我的应用程序会按预期工作

首先,这里发生了什么?我做错了什么?这样我就可以理解,而不是在将来复制


第二,我如何阻止这种行为?我希望部署原始的web.config,而不是一些任意的冒名顶替者。谢谢大家!

除非指定了转换(使用普通的内置web.config.debug和.release),否则它不会转换任何用户设置。有一段时间,它确实转换了machineKey设置,这样您的web角色就可以在web场场景中运行(如果负载平衡器不这样做,那么在负载平衡器后面什么都不会工作)。我相信它仍然可以这样做,但现在可能是在machine.config级别(让web.config单独运行)。我已经有一段时间没有检查过了,所以不确定它现在做什么


检查将要部署的内容的简单方法是将cskpkg打包并将其打开为.zip文件。内部将是另一个文件,其中包含您的web角色名称。再次以.zip格式打开,您应该会看到您的网站都打包好了。检查web.config并确保它是您所需要的。如果没有,那么请将您认为不应该更改的内容发回到这里。

根据dunnry关于解压缩cskpkg文件的建议,我注意到web.config甚至从未打包过——因此Azure一定是出于必要而创建了一个基本的文件(没有警告我!?!?)。经过一些调查,我发现了这个金块(来自):

原来web.config文件甚至没有包含在部署包中。不知怎的,web.config文件的BuildAction从Content更改为None


将BuildAction更改回“内容”后,我的部署现在可以按预期工作

你能发布这两个版本的一些例子吗?是否有用于调试/发布的Web.config覆盖?您是否配置了参数转换?(有点像)是的,我试图发布一个配置的图片,但我的“声誉”太低了。我没有覆盖或转换(特别是因为这个问题)。图片(来自同一个问题)如下:。能否提取azure包以验证在生成/打包期间是否发生了更改?如果您在azure emulator中本地构建并运行相同的配置,文件将保持完整?在提取azure包(通过解压缩)时,我现在看到文件完全丢失。知道怎么回事吗?谢谢。当我按照您的建议解压cskpkg时,我看到“sites/0”目录中完全缺少web.config文件。知道这里发生了什么吗?啊…找到了解决办法。使用您的建议作为起点,并意识到web.config丢失了,从中找到了这个金块(“不知何故,web.config文件的BuildAction从Content更改为None”)。现在,部署按预期工作!再次感谢。