【问题标题】:Visual Studio Publish gives different binaries to buildVisual Studio Publish 提供了不同的二进制文件来构建
【发布时间】:2015-01-29 11:08:29
【问题描述】:

我通常通过右键单击应用程序并选择发布选项来部署我的 Web 应用程序。 VS 将所有内容复制到本地文件系统文件夹,然后我将其压缩并复制到 Web 服务器。

由于某种原因,当我发布我的分支时,发布文件夹中的二进制文件与本地构建文件夹中的二进制文件不同。就好像它正在构建不同的代码。

本地构建和发布都使用调试(任何 CPU)配置。

这是反编译程序集的屏幕截图。

第一个是项目 bin 文件夹中的一个,并且运行良好。

这个来自发布文件夹,你可以看到它包含一些不在其他版本中的行。

这个特定的类中没有任何#IF DEBUG 编译指示。

我尝试清除 bin 和 obj 文件夹,但没有成功。

Visual Studio 是否在某处缓存了所有代码的副本,用于发布构建,我可以清除这些副本?

【问题讨论】:

    标签: c# visual-studio visual-studio-2012


    【解决方案1】:
    1. 您确定在发布设置中启用了调试配置吗?发布设置会覆盖当前的 Visual Studio 项目配置。

    2. 启用调试发布配置后,发布将在 Web.config 上应用 Web.Debug.config 转换,而本地构建忽略 Web.Debug.config。如我所见,您错过了已发布程序集中的NewJobRegisteredObject,您可能在Web.Debug.config 中删除了对象注册中的xdt:Replace 部分。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-05-31
      • 2017-07-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多