Конструктор класса VS2019 с разными подписями требует, чтобы все типы подписей были включены в качестве ссылок путем вызова программы - PullRequest
0 голосов
/ 26 мая 2020

Об этом было сообщено через механизм обратной связи VS2019, но мне нужно решение быстрее. Ниже приведены фрагменты кода. Приносим извинения за то, что не знаю, как это лучше отформатировать.

Класс библиотеки имеет три конструктора, вызывающая тестовая программа в том же решении, которое. NET V4, требуется, чтобы иметь ссылку на System.Web, когда это не нужно. При ссылке и импорте System.Web возникает проблема, заключающаяся в том, что VS2019 V16.6 считает, что имеется ссылка на Newtonsoft. Json V9.0.1. Это критический путь для миграции с WS2008R2 (VS2010) на WS2019 (VS2019). Проблема не наблюдается на WS2012 или WS2016, оба с VS2010.

Код серьезности Описание Состояние подавления строки файла проекта Предупреждение Основная ссылка «C: \ Users \ grollman \ Documents \ Visual Studio 2019 \ Projects \ WriteToQB \ WriteToQB \ bin \ Debug \ WriteToQB.dll »не удалось разрешить, поскольку он имеет косвенную зависимость от сборки« Newtonsoft. Json, Version = 9.0.0.0, Culture = нейтральный, PublicKeyToken = 30ad4fe6b2a6aeed », которая была построена против« .NETFramework, Version = v4.5 ”framework. Это более поздняя версия, чем целевая в настоящее время платформа .NETFramework, Version = v4.0. TestWriteToQB C: \ Program Files (x86) \ Microsoft Visual Studio \ 2019 \ Professional \ MSBuild \ Current \ Bin \ Microsoft.Common.CurrentVersion.targets 2081

Класс библиотеки

Public Sub New()
m_Page = Nothing
dicWinFormsCache = New Dictionary(Of String, String)(StringComparer.OrdinalIgnoreCase)
InitCRCTable()
End Sub

Public Sub New(objPage As System.Web.UI.Page)
    m_Page = objPage
    InitCRCTable()
End Sub

Public Sub New(dicIn As Dictionary(Of String, String))
    dicWinFormsCache = dicIn
    InitCRCTable()
End Sub

сообщение об ошибке тестовой программы: Код серьезности Описание Ошибка состояния подавления строки файла проекта BC30652 Требуется ссылка на сборку «System.Web, Version = 4.0.0.0, Culture = нейтральный, PublicKeyToken = b03f5f7f11d50a3a», содержащую тип «Page». Добавьте его в свой проект. WriteToQB C: \ Users \ grollman \ Documents \ Visual Studio 2019 \ Projects \ WriteToQB \ WriteToQB \ clsWriteToQB.vb 25 Active

вызов тестовой программы

Dim m_objclsDataFunctions As clsDataFunctions.clsDataFunctions
Public dicSettings As New Dictionary(Of String, String)

Private ReadOnly Property objclsDataFunctions As clsDataFunctions.clsDataFunctions
    Get
        If IsNothing(m_objclsDataFunctions) Then
            'Dim applicationCache As System.Web.Caching.Cache = System.Web.HttpRuntime.Cache
            m_objclsDataFunctions = New clsDataFunctions.clsDataFunctions(dicSettings)
        End If
        Return m_objclsDataFunctions
    End Get
End Property
...