gpt4 book ai didi

c# - Web Api 脚手架 - 运行所选代码生成器时出错

转载 作者:太空狗 更新时间:2023-10-29 23:44:13 25 4
gpt4 key购买 nike

总结:在 Visual Studio 2015(更新 1)中创建新的 Web 项目时,我无法为与 Entity Framework 相关的 Controller 使用脚手架工具。

VS2013 Update 5 出现同样的问题

它返回以下消息:

There was an error running the selected code generator:
There was an error getting the type "failtest.Models.TestModelClass".
Try rebuilding the project.

我试过重建它,但仍然没有。

有人知道我为什么收到这个吗?我实际上重新安装了我的 Windows 10 系统,看看是否可以修复此错误。- 现在,蜜蜂说,无论如何它都需要一些严厉的爱,所以我想是时候了 - 也许它崩溃了,因为我在过去的时间里尝试了大量的节点,以及权限错误。但是错误发生在我重新安装之前和之后。 (完整的鞭子)

这是 Visual Studio 2015 Professional 的全新安装 - 基本上还没有向系统添加任何其他内容。

当我第一次开始这篇文章时,我为我的屏幕截图创建了一个空白项目,只是为了展示整个过程(如下)——我想我正在失去理智。

一开始testproject突然不行了,于是又创建了第二个project再次测试。然后它因同样的错误而失败。所以为了确认,我删除了第一个有效的项目,并使用与突然有效的项目完全相同的名称和文件位置再次设置它(在删除所有文件夹和现有项目文件之后) - 现在它再次失败。

如何重现:

  1. 创建一个新的“Azure Api App”项目 - 将所有设置保留为默认设置(实际上任何项目类型都会产生相同的结果)

New Project

  1. 创建一个新模型

Model

  1. 构建您的项目(Microsoft 的一篇文章中提到必须使用脚手架)

  2. 通过右键单击“Controllers”文件夹并选择 New -> Controller 添加一个新的 Controller - 选择“Web Api 2.0 controller with actions, using Entity Framework

Add Controller

  1. 填写信息,因为这是一个新项目,我们没有上下文 - 所以单击 + 图标并创建一个新项目。

Fill out information

  1. 产生错误

Error

编辑:

Packages.config :

<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="EntityFramework" version="6.1.3" targetFramework="net452" />
<package id="Microsoft.AspNet.WebApi" version="5.2.3" targetFramework="net452" />
<package id="Microsoft.AspNet.WebApi.Client" version="5.2.3" targetFramework="net452" />
<package id="Microsoft.AspNet.WebApi.Core" version="5.2.3" targetFramework="net452" />
<package id="Microsoft.AspNet.WebApi.WebHost" version="5.2.3" targetFramework="net452" />
<package id="Microsoft.Web.Infrastructure" version="1.0.0.0" targetFramework="net452" />
<package id="Newtonsoft.Json" version="8.0.2" targetFramework="net452" />
<package id="Swashbuckle" version="5.3.1" targetFramework="net452" />
<package id="Swashbuckle.Core" version="5.3.1" targetFramework="net452" />
<package id="System.IdentityModel.Tokens.Jwt" version="4.0.2.206221351" targetFramework="net452" />
<package id="WebActivatorEx" version="2.1.0" targetFramework="net452" />
</packages>

网络配置:

<?xml version="1.0" encoding="utf-8"?>
<!--
For more information on how to configure your ASP.NET application, please visit
http://go.microsoft.com/fwlink/?LinkId=301879
-->
<configuration>
<configSections>
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</configSections>
<appSettings></appSettings>
<system.web>
<compilation debug="true" targetFramework="4.5.2" />
<httpRuntime targetFramework="4.5.2" />
</system.web>
<system.webServer>
<handlers>
<remove name="ExtensionlessUrlHandler-Integrated-4.0" />
<remove name="OPTIONSVerbHandler" />
<remove name="TRACEVerbHandler" />
<add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
</handlers>
</system.webServer>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" culture="neutral" publicKeyToken="30ad4fe6b2a6aeed" />
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Net.Http.Formatting" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-5.2.3.0" newVersion="5.2.3.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Http" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-5.2.3.0" newVersion="5.2.3.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
<parameters>
<parameter value="mssqllocaldb" />
</parameters>
</defaultConnectionFactory>
<providers>
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
</providers>
</entityFramework>
</configuration>

编辑 2:我怀疑这是一个 EntityFramework 问题,因为脚手架适用于不包含 EntityFramework 的所有内容。

已经测试过

  • 在调试和发布配置之间切换
  • 更新了所有包和插件
  • 验证了解决方案文件和项目 XML
  • 已验证 Web.config
  • 已删除 Bin/Debug 文件夹
  • 不同项目类型的新项目

描述相同错误的问题 - 所有测试

我还在 aspnet Github 问题跟踪器上创建了一个关于此的问题。 https://github.com/aspnet/Tooling/issues/411

并通过 Visual Studio 中的内部反馈系统将其报告给 Microsoft。

最佳答案

找到解决方案/问题。

我正在使用 Panda Antivirus - 在整个过程中,我经常检查 Panda 是否报告任何被阻止的文件、线程或对系统的任何威胁。它没有报告任何东西 - 所以我排除了杀毒软件的问题。

阅读另一篇关于不同问题的帖子后,我注意到其中一个解决方案是停用防病毒软件,然后进行修复。在尝试了所有其他方法之后,我就是这样做的。

它又开始工作了。最后。 ~ 20 天后。

似乎不需要修复安装,因为再次激活防病毒软件会在您下次尝试运行脚手架时产生问题。

禁用进程监视器并不能解决问题,将所有文件夹添加到 AV 的异常文件夹将是维护工作的方式,因此我可能会关闭我的 AV。

希望这对遇到此问题的其他人有所帮助。

非常感谢 @oleg 在这里帮助我!

关于c# - Web Api 脚手架 - 运行所选代码生成器时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35187813/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com