c# - 将文本模板 (*.tt) 包含到 .NET Standard NuGet 包中
问题描述
我通过在项目设置中选择“在构建时生成 NuGet 包”并使用 MyGet 构建服务,将 .NET Standard 类库作为包发布到 MyGet 提要上。我的Cds.IoC.csprj
样子是这样的:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
<RootNamespace>Cds.IoC</RootNamespace>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<Authors>...</Authors>
<Company>...</Company>
<Product>...</Product>
<Description>...</Description>
<Copyright>© 2018</Copyright>
<PackageTags>...</PackageTags>
<PackageReleaseNotes>...</PackageReleaseNotes>
<AssemblyVersion>0.0.0.1</AssemblyVersion>
<FileVersion>0.0.0.1</FileVersion>
<Version>1.0.1-alpha</Version>
</PropertyGroup>
</Project>
如何将文本模板Some.tt
文件添加到包中,以便它显示在引用项目中?我不希望它在包构建时生成输出;只是在寻找一种将 TT 文件自动添加到引用项目的方法。
解决方案
如何将文本模板 Some.tt 文件添加到包中,以便它显示在引用项目中?
您可以使用该属性<Pack>true</Pack>
将文本模板 Some.tt 文件添加到包中:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
<RootNamespace>Cds.IoC</RootNamespace>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<Authors>...</Authors>
<Company>...</Company>
<Product>...</Product>
<Description>...</Description>
<Copyright>© 2018</Copyright>
<PackageTags>...</PackageTags>
<PackageReleaseNotes>...</PackageReleaseNotes>
<AssemblyVersion>0.0.0.1</AssemblyVersion>
<FileVersion>0.0.0.1</FileVersion>
<Version>1.0.1-alpha</Version>
</PropertyGroup>
<ItemGroup>
<None Update="some.tt">
<Generator>TextTemplatingFileGenerator</Generator>
<LastGenOutput>some.txt</LastGenOutput>
</None>
<None Update="some.txt">
<DesignTime>True</DesignTime>
<AutoGen>True</AutoGen>
<DependentUpon>some.tt</DependentUpon>
<Pack>true</Pack>
</None>
</ItemGroup>
</Project>
当你构建项目时,生成的源文件some.tt
会添加到nuget包中,然后你将这个nuget包添加到项目中,这个文件就会添加到项目中。
查看文档NuGet 包并还原为 MSBuild 目标以了解更多详细信息。
希望这可以帮助。
推荐阅读
- python - 使用python从代码中的其他部分开始和停止while循环
- apache-flink - sinkfunction的概念及其在Flink中的丰富sinkfunction的实现
- java - 如何修改json响应?
- apache-nifi - 在全局变量中组合表达式函数
- android - NFC:蓝牙 LE OOB 配对 + Android 应用启动
- c++ - 为什么 DBDATE 在 OLE DB 中有一个有符号整数类型?
- linux - Kubernetes 无法识别通配符*
- css - Odoo V11 - 如何使用 CSS 类设置看板样式,并将字段值作为类名的一部分
- javascript - 什么提示确认表格重新提交?
- facebook-graph-api - 如何使用 facebook API 以二进制形式上传视频?