我要接手一个用vb.net写的项目,里面有400k多行代码,都是用option strict off模式写的。在我做任何其他事情之前,我想先在 option strict on 下构建它——这可能会将它转换为 C#。我发现有数千行代码引发编译错误,主要是关于隐式类型转换。
如果我不想手动更正每一行,是否有任何工具可以帮助它在选项严格模式下编译?因为自己在每一行代码中添加 CStr/CInt 调用真的很痛苦。
我要接手一个用vb.net写的项目,里面有400k多行代码,都是用option strict off模式写的。在我做任何其他事情之前,我想先在 option strict on 下构建它——这可能会将它转换为 C#。我发现有数千行代码引发编译错误,主要是关于隐式类型转换。
如果我不想手动更正每一行,是否有任何工具可以帮助它在选项严格模式下编译?因为自己在每一行代码中添加 CStr/CInt 调用真的很痛苦。
仅仅为此添加 CInt 或 CStr 或 Convert.ToString 不会为您带来任何好处。您需要逐案查看设计,并从头开始找出数据类型不匹配的原因。
混搭只是为了让你跑步怎么样。这是我认为你应该做的。将项目设置设置为“Option strict On”所有具有编译错误的单个 .vb 文件...将“Option strict Off”作为该文件的第一行。(这将覆盖项目范围的设置)
您现在有一个编译项目。
下一项工作是当您有时间选择单个文件时(搜索“Option strict Off”)(或者当您出于其他原因修改文件时)从单个文件中删除“Option strict Off”并让 VisualStudio 自动更正标签为您修复错误。
所以你想同时使用 Option Strict 和不使用它?
我会告诉你什么:首先将 Option Strict 设置为 On,然后在警告配置下将“隐式转换”条件从“错误”更改为“警告”(或“无”)。然后,您将看到配置显示:Option Strict - “Custom”。
但不要自欺欺人:这个自定义设置并不严格,因为它允许隐式事情发生。你需要问自己:“为什么我要在选项 Strict 下编译它?”。