从MSBuild转换所有模板时为空

时间:2015-05-14 13:33:10

标签: visual-studio-2013 msbuild t4

在.csproj中使用/ t:TransformAll目标运行MSBuild时,我得到一个null:

C:\ Program Files(x86)\ MSBuild \ Microsoft \ VisualStudio \ v12.0 \ TextTemplating \ Microsoft.TextTemplati ng.targets(396,5):错误:正在运行转换:System.NullReferenceException:未设置对象引用到一个对象的实例。\ r [C:\ IDB-Git \ IDB.Middleware \ IDB.MW.Domain \ IDB.MW.Domain.csproj]

不知道现在该做什么。这是一个错误吗?我怎么能解决这个问题?

以下是Microsoft.TextTemplating.targets第396行的摘录及其上下文:

  <Target Name="ExecuteTransformations" DependsOnTargets="CreateT4ItemLists">

    <TransformTemplates
      TemplatesToProcess="@(T4TransformInputs)"
      IncludeFolders="$(IncludeFolders)"
      DirectiveProcessors="@(DirectiveProcessor)"
      AssemblyReferences="@(T4AssemblyReference)"
      ReferencePaths="@(T4ReferencePath)"
      TrackerLogDirectory="$(TrackerLogDirectory)"
      TrackFileAccess="$(TrackFileAccess)"
      MinimalRebuildFromTracking="$(TransformOutOfDateOnly)"
      OverwriteReadOnlyOutputFiles="$(OverwriteReadOnlyOutputFiles)"
      ParameterValues="@(T4ParameterValues)"
      >

1 个答案:

答案 0 :(得分:0)

您正在转换的某个模板中可能有一个空引用。 TransformTemplates任务将失败并冒泡模板转换失败的任何异常。找到罪魁祸首的最佳方法是为每个模板一次运行一个目标。

如果您确实想验证TransformTemplates是否应该责备,那么您应该使用诊断日志记录运行MS Build并确保所有TransformTemplates参数都具有合理的值。