安装Visual Studio 2019(之前我有2017)后,一些Web项目显示为
“不兼容”
未找到该项目类型所基于的应用程序。
它在 2017 年仍然有效,但我一直无法弄清楚为什么会出现此错误。
项目类型:
Web Site {E24C65DC-7377-472B-9ABA-BC803B73C61A}
如果我启动 VS 安装程序并安装或卸载任何组件,然后打开 VS 2019 和我的解决方案,它会加载良好的网站,我可以运行它。如果我关闭它并第二次重新打开它,它会再次变得不兼容。
有人遇到同样的问题吗?
我找到了这个问题的答案。它与 .user 文件有关。
为了解决问题:
我尝试修复 Visual Studio 2019 Community 但没有成功。
解决方法是从 .csproj 中删除
<ProjectTypeGuids>
元素。它在解决方案资源管理器中看起来不再像“单元测试项目”,但至少现在我可以打开它。并且测试仍然可以被发现。
如此答案中所述。
就我而言,问题是项目配置(.dtproj)中的版本号错误。 我在将旧文件与 VS2019 中的新项目文件进行比较时发现了这一点
老的:
<ProductVersion>15.0.2000.132</ProductVersion>
新的:
<ProductVersion>15.0.2000.128</ProductVersion>
解决方案:
将旧配置文件中的版本号从 132 更改为 128,它可以工作。
对我来说,将 VS2019 从 16.4.5 更新到 16.4.6 时出现问题。
解决方案:使用 VS 安装程序修复安装,如此线程中所述。
TL;博士
确保“开发者分析工具”扩展已启用。
更长的故事
不要像万事通那样认为如果您想同时使用“单元测试”项目就不需要启用“开发人员分析工具”。就像我一样。保持启用状态。
此外,还可以考虑在开发者社区投票重新考虑相关问题: https://developercommunity.visualstudio.com/content/problem/904418/unit-test-projects-needs-migration-message.html
感谢 Alexey Lotysh 提供此解决方案。
在我的例子中,这是因为涉及到 ModelingProject 图,尝试在 VS2019 环境中导入早期的 VS2017 项目,在阅读了 实时依赖验证之后,它向我显示了缺少项目应用程序的所有错误,并且 UML 设计人员删除了 并安装 使用代码图映射依赖项,我更新了 ModelingProject,它正确地显示了所有解决方案元素,并正确构建和启动。
在我的例子中,我转到“管理扩展”,选择“已安装”,我发现“Microsoft Reporting Service Projects”已被“禁用”(我不知道为什么/如何)。
我只是按下“启用”按钮,关闭并重新启动 VS2019,一切都恢复正常。
我只是想分享我的解决方案。遇到了类似的问题,因为其中一个解决方案项目将无法加载。与问题中的错误相同。
删除 *.user 文件没有帮助,但删除位于解决方案目录中的 .vs 目录,然后重新打开解决方案为我解决了这个问题。
注意,.vs 是一个隐藏目录,因此您可能需要在 Windows 资源管理器中启用查看它们。