【问题标题】:Web Application won't publish without .cs files没有 .cs 文件,Web 应用程序不会发布
【发布时间】:2014-05-15 19:22:52
【问题描述】:

我有一个 asp.net Web 应用程序项目,我通过 Visual Studio 2013 中的 Build > Publish 发布。我正在使用选择的预编译选项发布到文件系统。我的项目在“打包/发布 Web 设置”屏幕中选择了“仅运行此应用程序所需的文件”。但是,无论我做什么,.cs 文件(代码隐藏)和 Designer.cs 文件都会在发布期间复制到输出文件夹。

此项目是使用 Visual Studio 中的“文件”>“新建项目”>“ASP.NET Web 应用程序”功能创建的。然后将来自网站项目的文件添加到应用程序中,并从构建菜单对其运行“转换为 Web 应用程序”命令。转换为 Web 应用程序似乎运行良好,但如果不包含 .cs 文件,我将无法发布。

为了在不包含代码隐藏文件的情况下发布 Web 应用程序,还需要做什么?关于我可以研究什么的任何想法?

是否存在导致此问题的解决方案级别的设置?新的 Web 应用程序已添加到包含大约十几个其他项目的预先存在的解决方案中。

要注意的另一件事是,当我在新项目中使用 Visual Studio 创建新的 Web 应用程序并使用相同的设置发布时,它不包含 .cs 文件。

我也尝试过删除然后创建一个新的发布配置文件。

【问题讨论】:

  • 单击其中一个 .cs 文件,然后在属性网格 (F4) 中查看 .cs 文件的“构建操作”设置。
  • @JohnSaunders Build Action = 编译。
  • 嗯.. 不是我所期望的。是否有后期构建步骤?
  • @JohnSaunders 不,没有后期构建。
  • 在我的情况下,所有文件,无论它们是否标记为编译,都会发布到目标文件夹。这与上面显示的设置相同。如果我创建一个新项目文件并向其中添加所有相同的内容,它会按预期发布。然而,这是一种解决方法,而不是修复,因为如果它再次发生,它需要很长时间才能获得所有引用等正确...

标签: asp.net visual-studio web-application-project


【解决方案1】:

我刚刚通过删除旧的发布配置文件并创建一个新配置文件来解决此问题。

新的似乎与旧的具有所有相同的设置,但是当我发布它时并没有复制 .cs 文件。

编辑:这个答案是谎言。两个配置文件之间存在差异。新配置文件处于发布配置中。

编辑 2:项目设置中有一个设置决定发布的内容。从以下页面中选择“仅运行此应用程序所需的文件”。

【讨论】:

    【解决方案2】:

    原来,当我试图让我的项目在我们的构建服务器上构建时,我将这一行添加到我的 csproj 文件中。删除它解决了问题:

    <Target Name="GatherAllFilesToPublish"></Target>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多