无法将来自不同项目的新脚手架项目添加到我的 Web 项目 (MVC 5)
Failed to Add a New Scaffolded Item from a different Project into my Web Project (MVC 5)
当我尝试在我的网站项目中创建 New Scaffolded Item
时,我收到以下消息:
Error
There was an error running the selected code generator:
'There was an error getting the type 'SomeProjectInMySolution
.SomeModelInThatProject
'.
Try rebuilding the project.'
现在,似乎无法创建它,因为它处于不同的上下文中。
我尝试按照 this answer 的建议进行操作。但是,失败了。
我还能尝试什么?
这是我填写生成表格的方式:
注:
我正在使用:
Entity Framework6 6.1.3
EntityFramework Reverse POCO Code First Generator:
在它存在的特定项目中生成上下文。
我所有的项目都是在 64 位平台上构建的。
我在网站项目的 Web.config
中也有正确的 ConnectionString
。
非常感谢
更新:
我也试过。但是,什么都没有。
我注意到在尝试创建项目时,控制台输出如下:
Attempting to install version '6.1.1' of 'EntityFramework' but the project already includes a different version. Skipping...
然而,我所有的项目都有6.1.3
。已尝试降级到 6.1.1
。但是,还是不行。为什么它甚至显示该消息?
<package id="EntityFramework" version="6.1.3" targetFramework="net451" />
DefaultAppPool 高级设置:
我在 asp.net 中从控制器生成视图时遇到了类似的问题。
这里的问题是,我的模型 class 继承自 class 外部项目,当我从 class 中评论继承时,生成工作并且我能够再次继承。
像这样:
public class Employee //: PersonBase {...}
所以我生成了评论斜杠,然后删除了。
public class Employee : PersonBase {...}
不知道对你有没有帮助,但值得一试。
我终于找到了这个可怕问题的解决方案:
一些帖子确定它与 x64
平台相关。所以,在最后一次绝望的尝试中,我只是将平台更改为 Any CPU
(每个项目的),然后我 运行 脚手架项目生成器,最后切换回 64-bit
.
我不确定为什么会这样。我的同事提到 Visual Studio 是在 32 位中构建的,也许这就是导致问题的原因。我真的不知道。但是,我希望这对以后遇到同样问题的任何人有所帮助。
感谢所有尝试过的人。
刚刚花了一整天的时间来解决同样的问题,结果证明这是 MVC 脚手架中的一个错误,该错误已被报告。
有关详细信息和解决方法,请参阅下面的 link:
https://github.com/aspnet/Mvc/issues/4336
当我尝试在我的网站项目中创建 New Scaffolded Item
时,我收到以下消息:
Error
There was an error running the selected code generator:
'There was an error getting the type '
SomeProjectInMySolution
.SomeModelInThatProject
'.Try rebuilding the project.'
现在,似乎无法创建它,因为它处于不同的上下文中。
我尝试按照 this answer 的建议进行操作。但是,失败了。
我还能尝试什么?
这是我填写生成表格的方式:
注:
我正在使用:
Entity Framework6 6.1.3
EntityFramework Reverse POCO Code First Generator:
在它存在的特定项目中生成上下文。我所有的项目都是在 64 位平台上构建的。
我在网站项目的
Web.config
中也有正确的ConnectionString
。
非常感谢
更新:
我也试过
我注意到在尝试创建项目时,控制台输出如下:
Attempting to install version '6.1.1' of 'EntityFramework' but the project already includes a different version. Skipping...
然而,我所有的项目都有6.1.3
。已尝试降级到 6.1.1
。但是,还是不行。为什么它甚至显示该消息?
<package id="EntityFramework" version="6.1.3" targetFramework="net451" />
DefaultAppPool 高级设置:
我在 asp.net 中从控制器生成视图时遇到了类似的问题。
这里的问题是,我的模型 class 继承自 class 外部项目,当我从 class 中评论继承时,生成工作并且我能够再次继承。
像这样:
public class Employee //: PersonBase {...}
所以我生成了评论斜杠,然后删除了。
public class Employee : PersonBase {...}
不知道对你有没有帮助,但值得一试。
我终于找到了这个可怕问题的解决方案:
一些帖子确定它与 x64
平台相关。所以,在最后一次绝望的尝试中,我只是将平台更改为 Any CPU
(每个项目的),然后我 运行 脚手架项目生成器,最后切换回 64-bit
.
我不确定为什么会这样。我的同事提到 Visual Studio 是在 32 位中构建的,也许这就是导致问题的原因。我真的不知道。但是,我希望这对以后遇到同样问题的任何人有所帮助。
感谢所有尝试过的人。
刚刚花了一整天的时间来解决同样的问题,结果证明这是 MVC 脚手架中的一个错误,该错误已被报告。 有关详细信息和解决方法,请参阅下面的 link: https://github.com/aspnet/Mvc/issues/4336