167 / 139 / 23
Регистрация: 02.01.2011
Сообщений: 913
|
||||||
1 | ||||||
Преобразовать программу NET 2.0 framework в Net 4.024.09.2012, 11:50. Показов 2722. Ответов 11
Метки нет (Все метки)
По наследству достался проект, которыи требуется преобразовать из NET 2.0 framework в Net 4.0.
Проблема в том, что внутри кода методом past-copy из NET 2.0(как я поняла) существует класс SerialPort : System.ComponentModel.Component. Теперь для того, чтобы не возникало конфликта между SerialPort из Net 4.0 и SerialPort из NET 2.0 мне нужно переписать все своиства (ручками) на Net 4.0 ,т.к. этими своиствами пользуются другие классы этого проекта Например,есть вот такое вот
В Net 4.0 есть Port.DataReceived и Port.PinChanged Это оно?Как бы найти соответствие всех своиств SerialPort в NET 2.0 и Net 4.0? Вообщем, все не радует и не знаю что делать. Приму с благодарностью любую конструктивную помощь(пожалуйста, выкинуть старый проект и писать заново , не предлагайте) Спасибо!
0
|
24.09.2012, 11:50 | |
Ответы с готовыми решениями:
11
Запуск приложения на платформе .NET Framework 4.0, на другом компьютере без установки .NET Framework 4.0 Settings проекта после перебилда с Net Framework 4.0 на Net Framework 3.0 В списке Target Framework не выбирается .NET Framework 4 только .NET Framework 4 Client Profile Объясните на пальцах совместимость библиотек в .Net Core, .Net Framework, .Net Standart |
167 / 139 / 23
Регистрация: 02.01.2011
Сообщений: 913
|
|
24.09.2012, 12:59 [ТС] | 3 |
nio, в том-то и дело, что код не продолжает работать! Возникает куча ошибок т.к. есть SerialPort namespace System.IO.Ports от Net4 и класс Class: SerialPort: System.ComponentModel.Component И их свойства не совпадают!См.выше
Добавлено через 2 минуты nio, а как я могу поменять ссылку, чтобы в проекте обращаться не к namespace System.IO.Ports от Net4, а от Net 2? Это возможно?
0
|
24.09.2012, 13:19 | 4 |
да, грохаешь в референсах старую ссылку, и устанавливаешь новую.
это проблема не Net 4.0, а того, что в ты используешь в принципе разные классы. Они находятся в разных namespace и реализация у них разная, совпадают только имена (вот они прелести полиморфизма ) Не по теме: Это как Вася Иванов и Вася Петров - имена одинаковые, а востальном разные люди
0
|
167 / 139 / 23
Регистрация: 02.01.2011
Сообщений: 913
|
|
24.09.2012, 13:31 [ТС] | 5 |
nio, да это-то я прекрасно понимаю(про разную реализацию, включая ВасьМне сейчас главное - как выбраться из этой ситуации по возможности "малой кровью" Коллега посоветовал Написать свои класс, наследовать от Net.4и добавить нужные своиства из Net2. Вообщем, неуверена , что получится, но другого пути пока не вижу...
0
|
24.09.2012, 13:52 | 6 |
недавно конвертил проект (SerialPort правда не использовал).
Просто брал проект написанный в VS2005, в контекстном меню выбирал открыть с помощью VS2010. При запуске студия сама предлагает его сконвертировать. После этого в свойствах проекта выбирал Target Framework: 4.0, затем поменял ссылки в референсах, и всё, никаких изменений в коде. На всё ушло не более 10 минут.
0
|
167 / 139 / 23
Регистрация: 02.01.2011
Сообщений: 913
|
|
24.09.2012, 13:59 [ТС] | 7 |
ок, я тоже так делала с разными другими проектами , а в этом получаю вот такую ошибку
Error 75 The type 'System.IO.Ports.SerialPort' exists in both 'd:\RemmonDev\Src\RTEC\.NET1.1_Components\SerialPort_asStream\bin\Debug\SerialPo rt_asStream.dll' and 'c:\Windows\Microsoft.NET\Framework\v2.0.50727\System.dll' D:\RemmonDev\Src\RTEC\.NET1.1_Components\ComManager\ComManager.cs 307 15 ComManager
0
|
167 / 139 / 23
Регистрация: 02.01.2011
Сообщений: 913
|
|
24.09.2012, 15:28 [ТС] | 9 |
При компиляции
0
|
24.09.2012, 15:56 | 10 | |||||
iva_a, проблема в том, что у тебя "пересекаются" пространства имен. Тут нужно отключить в using ненужное. Если это недопустимо попробуй в коде явно указывать откуда берутся эти классы
пример:
1
|
167 / 139 / 23
Регистрация: 02.01.2011
Сообщений: 913
|
||||||
24.09.2012, 16:07 [ТС] | 11 | |||||
nio, спасибо, пытаюсь, пока безуспешно. Как я говорила в начале, в самом коде скопирован класс SerialPort и namespace его именно System.IO.Ports.SerialPort, а потом в этот класс дописаны еще функции установки default, еще что-то.И этот класс используется как компонентТ.е. сеичас занимаюсь тем, что установила все референсы на Net 4 и пытаюсь что-нибудь из этого сварганить Дело в том, что Net 2 у нас уже нет, и людеи , которые это наваяли тоже нет.
Добавлено через 2 минуты Да, и еще, в коде как раз есть такая строка
0
|
24.09.2012, 20:58 | 12 |
Это строка позволяет давать свои "псевдонимы" пространствам имен, на изменение платформы она влиять не должна
1
|
24.09.2012, 20:58 | |
24.09.2012, 20:58 | |
Помогаю со студенческими работами здесь
12
Перенос проекта из VS2015 (.Net Framework 4.5) в VS2008 (.Net Framework 3.5) Совместимость проекта .NET Framework 4.6.2. На ПК с VS где установлен .NET Framework 4.6.1? Ошибка при установке .NET Framework 4.6.1: ".NET Framework 4.6.1 не поддерживается этой операционной системой" Подключить к проекту (NET Framework 4) библиотеку на NET Framework 2 Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |