我有几个T4包含文件,我想在几个项目中重复使用。所以我创建了一个NuGet包,并将这些文件放在包的Tools文件夹中。现在它们被安装在packages \ PackageName.x.x.x \ Tools文件夹中,我可以在项目的T4文件中添加一个include指令。 但是这样做的缺点是,当我创建新版本的软件包时,路径中会有一个版本号发生变化。这将需要我更新项目中的所有包含指令。 有没有人知道这个好方法的提示?如何使用NuGet包部署T4包含文件
3
A
回答
2
如果这些T4模板应该在库内部生成代码,那么你可以把它们放到内容目录中。
它们将被添加到引用nuget包的库中。因此,将工具重命名为内容(或添加新的文件夹内容),您应该没问题。您也可以将子文件夹添加到该文件夹。或者把.cs文件放在那里。
2
的T4包括指令不能识别的MSBuild属性,但组装一个呢。因此,您可以使用基本模板类并从NuGet包中引用程序集。
使用NuGet 2.5(可能在原始文章发布时不可用),您可以创建一个msbuild .props文件。分配$(MSBuildThisFileDirectory)将组件的相对路径组合到一个新的msbuild属性。然后可以在使用NuGet包的项目的T4模板中使用新属性。
相关问题
- 1. 使用nuget包部署单个文件
- 2. nuget:无参考地部署T4文件
- 3. 如何为NuGet包的配置部分包含XSD文件?
- 4. 包含文件的T4“头文件”
- 5. Web部署:如何将特定文件包含在webdeploy包中?
- 6. 如何在部署时在独立包中包含jar文件
- 7. 部署包不包含iisApp
- 8. 如何在使用NuGet安装软件包后包含软件包?
- 9. 如何在nuget包中包含配置文件
- 10. 如何在NuGet包中正确包含rd.xml文件?
- 11. 如何在NuGet转换文件中包含当前包版本?
- 12. 如何在NuGet包中包含pinvoked dll?
- 13. 如何包含Node和/或Ruby作为NuGet包的一部分?
- 14. Web部署在部署中不包含NHibernate必需的文件
- 15. Django:包含外部包含文件
- 16. 如何使用nuget package explorer创建一个包含release和debug dll的nuget包?
- 17. 如何在部署DSL时包含ProjectItem?
- 18. 如何使用MassTransit.MongoDb nuget包?
- 19. 如何使用DotNet.Contracts NuGet包?
- 20. 为Octopus部署创建nuget包
- 21. Octopus部署触手和2个Nuget包?
- 22. Visual Studio T4 - 包含文件使用环境变量
- 23. 部署包不包含所有最新文件
- 24. Visual Studio 2012 Web部署包不包含sql脚本文件?
- 25. 如何让Capistrano在部署中包含.htaccess文件?
- 26. 如何在C#部署中包含文件?
- 27. XCOPY部署脚本 - 如何包含某些文件?
- 28. 如何在Symbian部署中包含文件以便可访问?
- 29. 如何在ClickOnce部署中包含自定义数据文件?
- 30. 如何只包含汇编包含文件的部分
不喜欢用这些内容污染我的项目。我想我去解决方案从TextTransformation继承一个类,如此处所述(http://stackoverflow.com/a/8364027/1083432)(稍后发现) – Jaap