为什么Reinforced.Typings完全忽略了xml配置文件?

时间:2019-06-25 02:33:25

标签: .net asp.net-mvc reinforced-typings

我正在尝试在旧的维护MVC应用程序中使用Reinforced.Typings,以将视图模型架构获取到TypeScript。

问题是,Reinforced.Typings.settings.xml中的任何更改都不会产生任何影响。就像无论我做什么,都使用该文件中的默认设置。我已使用VS2017(.NET Framework 4.6)创建的原始MVC项目重现了这一点。

例如1。(如果我将<RtTargetFile>$(ProjectDir)Scripts\project.ts</RtTargetFile>更改为<RtTargetFile>$(ProjectDir)Scripts\foo.ts</RtTargetFile>;那么仍会创建project.ts,而不会创建foo.ts

例如2。如果我设置了<RtDivideTypesAmongFiles>true</RtDivideTypesAmongFiles>并设置了<RtTargetDirectory>$(ProjectDir)Scripts\MyApplication</RtTargetDirectory>,则Scripts\MyApplication中没有文件/文件夹被创建,而project.ts仍然被创建。

我从最新的github管理员1下载了示例解决方案,并且可以在该xml文件中进行更改,并且它们可以正常工作。但是在那里使用的DLL版本(1.3.5)在nuget上不可用。

我复制了以下带有*标记的版本:

  • 1.5.3 *
  • 1.5.2 *
  • 1.5.1,1.5.0(未尝试)
  • 1.4.97(具有rtcli路径错误)
  • 1.4.95(存在错误:“ RtCli”任务未获得必需参数“ TargetFramework”的值。)
  • 1.4.x(未尝试)
  • 1.3.7 *
  • 1.3.5(不是在nuget上,而是在github示例中使用,有效)
  • 1.3.2(存在错误:值不能为空)

如果这是一个实际的错误,肯定有人会注意到吗?我以为是我,不是你!我究竟做错了什么?提前非常感谢!

[另外:开发人员说可以在Twitter @MurcielagoCat上与他联系,但是该帐户似乎不存在

1 个答案:

答案 0 :(得分:1)

为解决此问题,首先请确保已重建项目。由于MSBuild的C#生成任务的特殊性,如果没有更改源文件,它实际上不会触发生成。因此,为了完全确定,请导航至您的.cs源文件中的任何一个,例如在末尾添加空行,然后重建项目。

如果没有帮助-则可能是您正在使用真正过时的MSBuild版本来缓存构建脚本。在这种情况下,请更改您的Reinforced.Typings.settings.xml,然后关闭并重新打开VisualStudio。 Reinforced.Typings.settings.xml不会经常更改,因此在特定情况下此活动不会花费很多时间。无论如何,在这种情况下,请考虑从命令行(控制台MSBuild)构建项目,以节省打开/关闭VS的时间。