【发布时间】:2016-08-16 00:14:54
【问题描述】:
我正在尝试做一个相当简单的 TF 来生成项目列表,但在我这样做之前,我想设置我的 DBContext。我正在尝试以下方法:
<#@ template debug="false" hostspecific="false" language="C#" #>
<#@ assembly name="System.Configuration" #>
<#@ assembly name="System.Core" #>
<#@ import namespace="System.Configuration" #>
<#@ import namespace="System.Linq" #>
<#@ import namespace="System.Text" #>
<#@ import namespace="System.Collections.Generic" #>
<#@ import namespace="MyProj.Data" #>
<#@ output extension=".cs" #>
namespace ModelGenerator
{
<#
MyProj.Data.ProjectContext db;
#>
}
编译转换:类型或命名空间名称“MyProj”可以 找不到(您是否缺少 using 指令或程序集 参考?)
我不确定我这样做是否正确。我正在尝试包含具有 .EDMX 文件的项目。
<#@ import namespace="MyProj.Data" #>
在“MyProj”项目中,app.config 中有一个名为“ProjectContext”的连接字符串。
我的项目中还有一个引用,其中包含 MyProj.Data 项目的 T4。
我需要做什么才能克服这个错误?
更新:
基于 Yacoub Massad 的评论。我变了
<#@ import namespace="MyProj.Data" #>
到这里:
<#@ assembly name="MyProj.Data" #>
现在我收到此错误:
编译转换:元数据文件“MyProj.Data”不能 找到了
【问题讨论】:
-
通过
<#@ assembly name=...包含包含ProjectContext类的程序集 -
@YacoubMassad - 那没用。我又犯了一个错误。查看更新后的问题。
-
我猜@YacoubMassad 意味着你需要同时拥有 和
-
哦,我想我明白了。试试看这个链接:stackoverflow.com/questions/16962170/…
-
@EtienneBaudoux - 我明白你在说什么。您必须包含 .dll - 我克服了最初的错误。现在正在研究不同的。感谢您的链接。
标签: c# entity-framework t4