加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – NuGet与类w / EF6实体的直接引用

发布时间:2020-12-15 08:06:07 所属栏目:百科 来源:网络整理
导读:我有一个包含许多EF6实体的类库.我从这个库中生成了一个NuGet.每当我直接引用库时,只将DLL放在bin中,但是当我通过NuGet安装库时,它会将实体* Content.tt和* .tt文件复制到项目的文件夹中. 关于这种差异,我有几个问题: 为什么NuGet在项目引用时不需要这些文
我有一个包含许多EF6实体的类库.我从这个库中生成了一个NuGet.每当我直接引用库时,只将DLL放在bin中,但是当我通过NuGet安装库时,它会将实体* Content.tt和* .tt文件复制到项目的文件夹中.

关于这种差异,我有几个问题:

>为什么NuGet在项目引用时不需要这些文件?
>是否需要这些实体文件,或者我是否能够强制NuGet在安装时不克隆这些文件?

我的.nuspec文件标准如下:

<?xml version="1.0"?>
    <package >
      <metadata>
        <id>MYID</id>
        <version>12.0.2</version>
        <title>MYTITLE</title>
        <authors>MYNAME</authors>
        <owners></owners>
        <requireLicenseAcceptance>false</requireLicenseAcceptance>
        <description</description>
        <releaseNotes></releaseNotes>
        <copyright>Copyright 2017</copyright>
        <tags></tags>
      </metadata>
    </package>

我用来生成包的命令是:

c:nuget.exe pack MYID.csproj -IncludeReferencedProjects -Prop
Platform=AnyCPU

c:nuget.exe add MYID.1.0.0.nupkg -Source M:DevNuGetPackages

解决方法

除非您正在进行运行时代码生成,否则不需要.tt文件.由于您正在打包到dll中,因此情况并非如此.实体框架使用T4模板(.tt文件)从EDMX文件生成C#类,因为图中的对象已更改.他们不需要执行最终代码.

检查答案,How to Exclude a T4 Template from a NuGet Package,您可以从包装中排除.tt文件.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读