在这里输入图像描述我想创建模型:add > class > ado.net entity
,为我的db第一个项目,也想通过asp.net脚手架创建CRUD操作,但未能创建具有必要代码的模型。因此,我没有创建脚手架。在我的模型文件AllahHelp.Context.cs
中,没有代码,只有文本"ErrorGeneratingOutput"。
命名空间不能直接包含字段或方法等成员F:projectWebApplication8WebApplication8ModelsAllahHelp.Context.cs 1 1 WebApplication8
错误2:
正在编译转换:元数据文件"C:Program Files (x86)Microsoft Visual Studio 12.0Common7Tools..IDEEntityFramework.dll"无法找到F:projectWebApplication8WebApplication8ModelsAllahHelp。[1]
如果在将。tt文件转换为类文件时出现错误,则类文件将在源文件中显示"ErrorGeneratingOutput",这会导致"命名空间不能直接包含诸如字段之类的成员"错误,但实际上与此没有任何关系。
你的实际错误听起来像你错过了对EntityFramework.dll
的参考。右键单击项目,选择"Manage NuGet Packages…",找到并安装EntityFramework到你的项目。
在某些情况下,我也遇到了一个问题,因为转换发生在文件复制之前,引用的dll不会被复制,因为错误发生并停止进程。在这种情况下,您需要暂时从项目中删除模型,成功编译项目,然后将模型添加回来。
根据这个类似的问题,它也可能是因为你的安装路径。如果这是你的问题,试着找到dll在哪里,并纠正环境变量VS120COMNTOOLS
(控制面板->系统->高级系统设置->环境变量->系统变量)
(但是要小心更改系统变量)
当尝试使用.tt模板构建项目时,我得到了这个错误。我通过检查我使用c#代码注入的所有地方来修复这个问题,并确保我通过包含#>
关闭了c#代码的每个部分。
的例子:
有问题的代码:
{
"find": "__LOCATION__",
"replaceWith": "<#= deployment.Location"
},
固定代码:
{
"find": "__LOCATION__",
"replaceWith": "<#= deployment.Location #>"
},