我在Visual Studio 2015中使用NuGet软件包Unofficial.Microsoft.VisualStudio.TextTemplating.14.0.0
,使我可以在每次构建项目时直接从MSBuild转换T4模板。
然而,在Visual Studio 2017 RTM中,这会导致以下错误:
运行转换代码时抛出异常。进程无法继续。抛出以下异常:
System.IO.FileNotFoundException: 找不到文件或程序集“Microsoft.CodeAnalysis,版本=1.3.1.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35”或其中一个的依赖项。系统找不到指定的文件。
文件名:“Microsoft.CodeAnalysis,版本=1.3.1.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35”
这是由此软件包中的文件Unofficial.Microsoft.VisualStudio.TextTemplating.targets(396,5)
引起的。
我猜测错误是由于尝试从VS 2017构建中使用这些目标导致环境不匹配,但我不知道如何跟踪确切的问题。我看不到适用于v15的更新包。
如何进行T4转换以使其在VS 2017上工作?是否会有新的NuGet软件包在某个时间点提供支持,还是不再支持此功能?
<Import Project="Sdk.props" Sdk="Microsoft.NET.Sdk" /> <Import Project="Sdk.targets" Sdk="Microsoft.NET.Sdk" />
代替Microsoft.CSharp.targets
。请查看我的评论和原帖回复:http://webcache.googleusercontent.com/search?q=cache:http://www.natemcmaster.com/blog/2017/03/09/vs2015-to-vs2017-upgrade/&gws_rd=cr&ei=yo9TWbKIPMS0aY_zqJAB - Peter Taylor