我通常通过右键单击应用程序并选择发布选项来部署我的Web应用程序。 VS将所有内容复制到本地文件系统文件夹,然后将其压缩并将其复制到Web服务器。
出于某种原因,当我发布我的分支时,发布文件夹中的二进制文件与本地构建文件夹中的二进制文件不同。它好像在构建不同的代码。
本地构建和发布都使用Debug(Any CPU)配置。
这是反编译程序集的屏幕截图。
第一个是项目bin文件夹中的一个并且运行完美。
这个来自发布文件夹,你可以看到它包含一些不在另一个版本中的行。
此特定课程中没有任何#IF DEBUG
个pragma。
我已经尝试清除bin和obj文件夹但没有成功。
Visual Studio是否有一个缓存的所有代码的副本,用于执行我可以清除的发布版本?
答案 0 :(得分:0)
您确定在发布设置中启用了调试配置吗?发布设置会覆盖当前的Visual Studio项目配置。
启用调试发布配置后,发布会在Web.Debug.config
上应用Web.config
转换,而本地构建会忽略Web.Debug.config
。如我所见,您错过了已发布的程序集中的NewJobRegisteredObject
,xdt:Replace
部分中的Web.Debug.config
部分可能会删除对象注册。