"Option Strict On запрещает неявные преобразования" непоследовательное применение
- Конфигурация 1: создание надстроек ESRI для ArcMap 10.4 с использованием Visual Studio 2015 для платформы.NET 4.5.2
- конфигурация 2: создание надстроек ESRI для ArcMap 10.3 с использованием Visual Studio 2013 для платформы.NET 3.5
- конфигурация 3: создание надстроек ESRI для ArcMap 10.4 с использованием Visual Studio 2013 для платформы.NET 4.5.2
Я пытаюсь понять, почему принудительное применение Option Strict On в проектах VB.NET не вызывает ошибку 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 определяют, какая версия фреймворка предназначена. Для получения дополнительной информации важно преобразование типа COM в.NET документации ArcObjects: Использование ArcObjects (на основе COM) в.NET (ArcObjects .NET 10.4 SDK)
Почему ошибка возникает в конфигурации 1, а не в конфигурации 2 или 3? И почему ошибка не возникает в конфигурации 1, когда создается экземпляр с управляемым классом вместо кокласса?
Ссылка на проблему, представленную в репозитории dotnet/roslyn github. https://github.com/dotnet/roslyn/issues/13314
Спасибо ши
1 ответ
В настоящее время кажется (как Ханс Пассант предложил в комментарии к исходному сообщению), что это действительно ошибка компилятора Roslyn в Visual Studio 2015. Я открыл проблему в репозитории dotnet / roslyn GitHub, и это было помечен как ошибка и назначен на члена команды. Статус этого может измениться, поскольку проблема исследована.
Ссылка на проблему и дополнительная информация по устранению неполадок: https://github.com/dotnet/roslyn/issues/13314