Visual Studio Community 2022 и OpenDrivers

  • В этой теме 52 ответа, 3 участника, последнее обновление 2 года назад сделано manjey73.
Просмотр 15 сообщений - с 1 по 15 (из 53 всего)
  • Автор
    Сообщения
  • #22555
    manjey73
    Участник

    Михаил, что и как надо установить, чтобы была возможность открыть OpenDrivers ?

    Сейчас невозможно добавить ссылки в зависимости на библиотеки v6
    Выдает ошибку Ссылка недействительна или не поддерживается на попытку добавить библиотеки в Зависимости

    #22560
    Mikhail
    Модератор

    Visual Studio Community 2022 в самый раз.
    Когда создаёте свой проект, нужно выбирать net6.0. Для логики драйвера проект «Class Library». Вероятно, Вы выбираете старый шаблон проекта «Class Library (.NET Framework)» — это старый .NET.

    #22561
    Mikhail
    Модератор

    В .NET6 стало удобно редактировать файл проекта вручную, т.к. он упростился. После создания проекта по двойному щелчку открывается его XML. Можно открыть существующий проект и скопировать зависимости оттуда.

    #22562
    manjey73
    Участник

    Откройте из версии 6 OpenDrriver.sln Возможности добавить библиотеки приводят к ошибке. Выбора NET6 нет, там указан NET Standard 2.0

    Требуется открыть проекты с возможностью изучать код, без добавления библиотек это НЕВОЗМОЖНО. Причина непонятна. Может что-то необходимо доустановить?

    Попробуйте на голой машине. Установлены компоненты для работы Scada, больше ниичего.

    #22563
    manjey73
    Участник
     /// <summary>
            /// Creates a new device.
            /// </summary>
            public override DeviceLogic CreateDevice(ILineContext lineContext, DeviceConfig deviceConfig)
            {
                return new DrvXXXXLogic(CommContext, lineContext, deviceConfig);
            }
    

    Например дает ошибку
    Ошибка CS1729 «DrvХХХХLogic» не содержит конструктор, который принимает аргументы 3.

    Почему ?
    Ошибка на using Scada.Forms; — в DevXXXXLogic хотя в Tester идет ссылка на TesterOptions

    Каковы взаимосвязи всего этого, если изначально OpenDrivers не дает ничего сделать так как не дает подключить библиотеки

    #22564
    manjey73
    Участник

    Я пока не говорю о создании чего-то с нуля, я говорю об открытии scada-v6-master

    #22565
    manjey73
    Участник

    Как создается Shared проект?

    #22566
    Mikhail
    Модератор

    Прежде чем открывать OpenDrivers, нужно открыть и собрать следующие solutions в конфигурации Release:
    ScadaCommon
    ScadaComm

    #22568
    manjey73
    Участник

    Раньше вроде хватало указать ссылки на уже собранные библиотеки из дистрибутива.

    Ну и вопрос, когда я спрашивал, какие изменения и чего коснулись больше интересует именно изменения в драйверах Коммуникатора и хотя бы краткое описание что есть что, а то без комментариев в OpenDrivers информации просто ноль и ноль десятых…

    • Этот ответ был изменен 2 года назад от manjey73.
    #22571
    Mikhail
    Модератор

    какие изменения и чего коснулись больше интересует именно изменения в драйверах Коммуникатора и хотя бы краткое описание что есть что

    На примере DrvSimulator:
    DrvSimulator.Logic — проект, реализующий логику драйвера
    DrvSimulator.Shared — общие классы логики и интерфейса драйвера. Тип проекта — Shared Project
    DrvSimulator.View — проект, реализующий интерфейс драйвера

    Если в коде драйвера что-либо вызывает вопросы, спрашивайте с указанием конкретного места в коде.

    #22572
    Mikhail
    Модератор

    При создании драйвера, библиотека должна иметь имя
    Drv***.Logic.dll — логика
    Drv***.View.dll — интерфейс
    Обращайте внимание на namespace для классов Drv***Logic.cs и Drv***View.cs, чтобы Коммуникатор их «подхватил».

    #22574
    Romiros
    Участник

    Можно влезть немножко не по теме, просто что-то у меня затык. Драйвер DrvDbImport или модуль ModDbExport вижу пока не планируются, поэтому подсмотреть негде. Проблема с подключением к БД MSSQL. Получается следующая ошибка:
    System.IO.FileNotFoundException: Could not load file or assembly ‘Microsoft.Data.SqlClient, Version=4.1.0.0, Culture=neutral, PublicKeyToken=23ec7fc2d6eaa4a5’. Не удается найти указанный файл.

    Пробовал устанавливать разные NuGet пакеты для провайдеров и Microsoft.Data.SqlClient и System.Data.SqlClient. Вроде все они поддерживают .Net6, но не работают. Может подскажите, что я делаю не так, а то вся работа застопорилась :).
    P.S. С Postgress кстати проблем нет.

    #22576
    Mikhail
    Модератор

    Проблема с подключением к БД MSSQL.

    Проект компилируется нормально под .NET6 или .NET Standard? Ошибка только при запуске?

    • Этот ответ был изменен 2 года назад от Mikhail.
    #22578
    Romiros
    Участник

    Да проект компилируется нормально под .NET6. Ошибка возникает только при запуске. Может какую-то dll нужно положить в корень коммуникатора?

    #22581
    manjey73
    Участник

    А DevXXXXLogic и View для чего?
    Не совсем понятно как теперь оформлять BinStopCode

    BinStopCode = (byte)options.GetValueAsInt(«BinStopCode»):

    Мне непонятна данная конструкция, а так же непонятно а если строка, а не байт?, а если массив байт?

Просмотр 15 сообщений - с 1 по 15 (из 53 всего)
  • Вы должны авторизироваться для ответа в этой теме.