gpt4 book ai didi

vb.net - "Option Strict On disallows implicit conversions"执行不一致

转载 作者:行者123 更新时间:2023-12-01 15:13:59 40 4
gpt4 key购买 nike

  • 配置 1:使用针对 .NET 4.5.2 框架的 Visual Studio 2015 为 ArcMap 10.4 构建 ESRI 加载项
  • 配置 2:使用针对 .NET 3.5 框架的 Visual Studio 2013 为 ArcMap 10.3 构建 ESRI 加载项
  • 配置 3:使用针对 .NET 4.5.2 框架的 Visual Studio 2013 为 ArcMap 10.4 构建 ESRI 加载项

我试图理解为什么 VB.NET 项目中的 Option Strict On 强制执行不会在两个项目中引发错误 BC30512 而在另一个项目中却引发错误。下面是使用配置 1 触发错误但不触发配置 2 或 3 错误的示例代码行。

Dim bufferedPolygon As ESRI.ArcGIS.Geometry.IGeometry = New ESRI.ArcGIS.Geometry.Polygon

此外,如果我实例化托管类而不是 coclass,则在任一配置中都不会触发错误(请参阅以下行):

Dim bufferedPolygon As ESRI.ArcGIS.Geometry.IGeometry = New ESRI.ArcGIS.Geometry.PolygonClass

ArcMap 的不同版本决定了目标框架的版本。对于其他背景,ArcObjects 文档的 COM 到 .NET 类型转换是相关的: Using ArcObjects (COM-based) in .NET (ArcObjects .NET 10.4 SDK)

为什么错误在配置 1 中触发,而不是在配置 2 或 3 中触发?为什么当使用托管类而不是 coclass 实例化时,配置 1 中没有触发错误?

指向在 dotnet/roslyn github 存储库中提交的问题的链接。 https://github.com/dotnet/roslyn/issues/13314

谢谢乳木果

最佳答案

此时,看起来(正如 Hans Passant 在对原始帖子的评论中所建议的那样)这确实是 Visual Studio 2015 中 Roslyn 编译器的错误。我在 dotnet/roslyn GitHub 存储库中打开了一个问题,并且它已被标记为错误并分配给团队成员。随着问题的调查,此状态可能会发生变化。

问题和其他故障排除信息的链接是 https://github.com/dotnet/roslyn/issues/13314

关于vb.net - "Option Strict On disallows implicit conversions"执行不一致,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39047509/

40 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com