【问题标题】:Why does Visual Studio omit ".compiled" files from my published ASP.net project?为什么 Visual Studio 从我发布的 ASP.net 项目中省略“.compiled”文件?
【发布时间】:2014-04-18 14:21:33
【问题描述】:

我继承了一个凌乱的 ASP.net Web 应用程序。上周,我们应该第一次将应用程序的更改推送到生产系统。

没问题,对吧?只需按照通常的步骤操作即可!

此项目已在过去发布过,并开启了预编译。

我使用保存在 Team Foundation Server 中的完全相同的发布配置文件发布了项目。我将它发送给可以访问生产系统的 A 先生。第二天,他们告诉我它不起作用。它在我的开发环境中运行良好!

先生。 A 告诉我,经过仔细检查,他注意到在旧版本中,bin 文件夹包含许多带有 .compiled 扩展名的文件。在新版本中,唯一带有.compiled 扩展名的文件是global_asax.compiled。我检查了设置,它清楚地说它正在使用预编译发布,那么为什么我的发布目录中缺少所有这些文件?

此外,这可能相关也可能不相关,确切的错误消息表明该网站无法从资源文件中读取。该项目是 ASP.net WebForms,而不是 MVC。

【问题讨论】:

    标签: asp.net visual-studio-2012 publishing precompile


    【解决方案1】:

    您需要确保'允许预编译的网站可更新'未选中

    这会将前端的aspx、ascx等代码页编译成*.copiled到/bin文件夹中。

    【讨论】:

    • 我认为我们正在做一些事情。当我遵循您的建议并取消选中该框时,我在预编译时收到与网页本身相同的错误!该错误表明它无法在资源文件中找到任何内容!为什么会这样?我所有的资源文件都在一个名为App_GlobalResources 的文件夹中,它们清楚地包含错误消息指示丢失的键。对于一些自定义控件,我还收到了一些 Unknown Server Tag 错误。
    • 在代码页中有一个对控件的引用,编译器可以为其确定正确的程序集。像<asp: 一样,您可以在 web.config 中添加自定义控件定义。 stackoverflow.com/questions/19904141/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-10-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多