我们目前正在将一个项目从.NET框架迁移到.NET Core3.1,但我们在让一些T4模板正常工作时遇到了问题。这些模板从我们的解决方案中导入一个或多个程序集,以便使用反射生成代码。这些程序集是.NET Core3.1库。问题似乎是Visual Studio2019中的T4引擎在框架上运行,无法正确加载核心程序集。
运行模板时,我得到了一个ReflectionTypeLoadException
。检查异常后,很明显T4引擎找不到System.Runtime
。有一些解决方法(here),但当我应用它时,只会将问题转移到下一个依赖项,即NuGet包。因此,解决方法不起作用。
有什么方法可以让T4模板与.NET Core3.1程序集一起工作吗?或者,在.NET Core3.1上有没有类似的T4模板替代方案?
发布于 2020-03-21 00:41:58
我遇到了这个问题,找不到任何好的解决方案。因此,我开发了一个替代的T4工具,它混合使用Visual Studio的.NET框架T4功能进行预处理,并使用.NET核心可执行文件来执行模板代码。它可以在from GitHub上找到。它在我的项目中工作得很好,希望它也能帮助其他人。
https://stackoverflow.com/questions/60153842
复制相似问题