是否有任何解决方案Visual Studio 2013没有正确生成ASPX页面的.designer文件?

 min覀igreenr 发布于 2023-01-18 14:00

我们越来越频繁地遇到无法在Web项目中生成设计器文件的Visual Studio错误.在我们的几个ASP.NET项目中,这个问题已经发生了几个月.

保存文件或构建项目时会发生错误,并且会出现如下错误:

为[filename]生成设计器文件失败:错误HRESULT E_FAIL已从调用COM组件返回.

为[filename]生成设计器文件失败:未指定错误(HRESULT异常:0x80004005(E_FAIL))

为[filename]生成设计器文件失败:已存在具有相同密钥的条目.

为[filename]生成设计器文件失败:值不能为null.

有时,会显示有效的,以前正在运行的代码/标记的其他错误消息; 错误如:

当前上下文中不存在名称"Eval"

这是使用Visual Studio 2013(Premium),使用.NET 4.5框架的"Web应用程序项目"类型项目.某些项目最初是在Visual Studio 2010或Visual Studio 2012中创建的,但其中一个项目是在Visual Studio 2013中创建的新项目.

我们安装了一些Visual Studio扩展,例如"Web Essentials 2013"​​,但我尝试禁用所有已安装的Visual Studio扩展,但仍然会出现相同的设计器文件错误.我们没有安装Resharper或CodeRush.我们还使用ASP.NET的第三方组件包(DevExpress).我们将IIS Express用于本地开发Web服务器.

已为Visual Studio,操作系统(Windows 8.1),.NET,Visual Studio扩展和DevExpress安装了所有可用更新(包括Visual Studio 2013的更新1).

我已经在这个问题上搜索了StackOverflow和网页,并且找到了一些建议但没有解决方案,而且我也看到这个问题已经多次报告给微软,可以追溯到几年前.

许多迹象表明,生成设计器文件的问题是由一些无效的语法(在ASPX文件中),或在同一范围内具有相同ID的多个元素,或命名空间或类名称中的冲突等引起的.我通过我们的搜索对于像这样的问题,尽我所能的项目,但没有找到任何.

我在Sourceforge上找到了Redesigner项目(非常感谢作者),我尝试使用它来验证设计器文件,但遗憾的是它无法处理DevExpress组件(它报告DevExpress元素在使用时无效的子标签标签对DevExpress有效且正确.

我还尝试清除工作站上的Visual Studio开发缓存(即,从文件夹"\ Temp\IISExpress","\ Temp\Temporary ASP.NET Files"和"\ Microsoft\WebsiteCache"文件夹中删除所有内容%localappdata%文件夹,重新启动并重新启动Visual Studio.

我还找到了一个网站,解释了如何打开Visual Studio的其他日志记录,以帮助跟踪设计器文件生成问题.对于Visual Studio 2013,这需要添加密钥HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\12.0\WebApplicationProjects\Debug,然后在该密钥下添加"Enabled"(设置为1),"LogFieldGeneratorFailures"(设置为1),以及"LogFile"(设置为您有权写入的路径和文件名).

当我添加此密钥时,Visual Studio 2013确实写入了调试日志文件,但它只包含类似于上面的错误消息的错误消息,加上一个小的堆栈跟踪以及设计器文件不能用于的ASPX文件的全部内容.生成(没有明显指示ASPX页面中可能存在错误或语法无效的位置).

我想我已经在本主题中尝试了基本上所有建议的方法: 如何强制Visual Studio重新生成aspx/ascx文件的.designer文件?

这些都不适合我.在这些项目中,Visual Studio 2013中无法使用ASPX文件的"转换为Web应用程序"选项.

有没有人对此desinger文件问题或任何其他故障排除方法的潜在原因或修复有任何建议?

1 个回答
  • 我们在此问题中发现的最新信息是,它与Visual Studio中的"源控制"选项相关,以"在打开解决方案或项目时获取所有内容".

    拥有此选项UNCHECKED似乎已解决了我们团队迄今为止的问题(过去几天).

    Microsoft Connect上也发布了此问题:http://connect.microsoft.com/VisualStudio/feedback/details/760443/visual-studio-2012-ide-loses-intellisense-and-reference-resolution

    上面链接中的注释表明该错误是由Visual Studio打开时从源代码控制或异步解决方案加载异步检索文件引起的.为解决问题而建议的选择是关闭异步解决方案加载或禁用"打开所有内容"选项.

    还有一些建议是删除项目目录中的.suo(解决方案用户选项)文件可以解决问题,但这似乎只是暂时的.

    2023-01-18 14:02 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有