【发布时间】:2016-05-26 13:05:54
【问题描述】:
我正在对 asp.Net MVC5 webapp 进行一些更改,其中我使用typelite 从 C# 类创建 .ts 定义(非常方便)。由于某种原因,现在我在执行 T4 时遇到了这个错误:
编译转换:“对象”类型是在未引用的程序集中定义的。您必须添加对程序集 'mscorlib, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e, Retargetable=Yes' 的引用。
还有这个警告:
编译转换:假设 'EnvDTE' 使用的程序集引用 'mscorlib, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' 匹配身份 'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' 'mscorlib',您可能需要提供运行时策略 Mair.Tracking.Web
我猜这与 TypeLite 使用的 EnvDTE 版本以及对 mscorlib EnvDTE 使用的引用有关。我应该在 web.config 中添加 bindingRedirect 吗?
我正在使用带有 Update2 CTP 的 VS2015。
【问题讨论】:
-
我不使用 typelite,但我也收到 mscorlib 警告,因为我将 VS2015 更新为 CTP 2。
-
我找到了你的问题并且正在阅读“完美 - 与我完全相同的情况”一直到 VS2015 的版本等。然后当我没有看到答案时感到悲伤。我猜这是更新 2 CTP 的问题。我将在几个小时后安装 Update 2 RC,因此如果有帮助,我会回复您的答案
-
更新到 Update 2 RC,同样的错误
-
我为此打开了一个 Connect 项目:connect.microsoft.com/VisualStudio/feedback/details/2451005
-
更新 2 RTM 中的同样问题。而且,作为记录,我的 .tt 文件不访问任何外部第三方库,也不针对 PCL,它只是一个标准 T4 模板,没有做任何壮观的事情,只是使用 EnvDTE(这是我的程序集.tt 文件抱怨)。
标签: c# asp.net asp.net-mvc typescript typelite