VS2008 на Win10
От: kov_serg Россия  
Дата: 28.10.24 15:01
Оценка:
Запустил VS2008 C# под win10 и с удивлением узнал что оно не очень-то и работает, хотя казалось бы что мешает.
При попытке запустить вываливает такое окно:



Кто-нибудь с такм сталкивался? Где ему в реестре ключи править надо?
Отредактировано 28.10.2024 15:10 kov_serg . Предыдущая версия .
Re: VS2008 на Win10
От: Pavel Dvorkin Россия  
Дата: 28.10.24 15:19
Оценка:
Здравствуйте, kov_serg, Вы писали:

_>Запустил VS2008 C# под win10 и с удивлением узнал что оно не очень-то и работает, хотя казалось бы что мешает.

_>При попытке запустить вываливает такое окно:

При попытке запустить ее или отладку в ней ?

В точности это сообщение обсуждается здесь

https://stackoverflow.com/questions/1780116/unable-to-start-debugging-message-in-vs-2008
With best regards
Pavel Dvorkin
Re[2]: VS2008 на Win10
От: kov_serg Россия  
Дата: 28.10.24 15:32
Оценка:
Здравствуйте, Pavel Dvorkin, Вы писали:

PD>Здравствуйте, kov_serg, Вы писали:


_>>Запустил VS2008 C# под win10 и с удивлением узнал что оно не очень-то и работает, хотя казалось бы что мешает.

_>>При попытке запустить вываливает такое окно:

PD>При попытке запустить ее или отладку в ней ?

Да. Без отладки запускает, а вот отладчик посылает в сад

PD>В точности это сообщение обсуждается здесь


PD>https://stackoverflow.com/questions/1780116/unable-to-start-debugging-message-in-vs-2008


Я явно указал что бы v3.5 использовала
HKLM\SOFTWARE\WOW6432Node\Microsoft\VisualStudio\9.0\AD7Metrics\Engine\{449EC4CC-30D2-4032-9256-EE18EB41B62B}
 CLRVersionForDebugging="v3.5"

и получил сообщение что на целевой платформе нету .net 3.5, хотя он есть.

И в свойствах поекта target framework серый

Очередные минные поля заботливо расставленные микрософтом.
Отредактировано 28.10.2024 15:42 kov_serg . Предыдущая версия .
Re[3]: VS2008 на Win10
От: Pavel Dvorkin Россия  
Дата: 28.10.24 16:09
Оценка:
Здравствуйте, kov_serg, Вы писали:

_>Очередные минные поля заботливо расставленные микрософтом.


Не думаю. Скорее просто нет обратной совместимости. Когда-то пытался запустить VS6 под то ли XP, то ли 7 — было не лучше.

Compatibility не пробовал ?

https://support.microsoft.com/en-us/windows/make-older-apps-or-programs-compatible-with-windows-783d6dd7-b439-bdb0-0490-54eea0f45938
With best regards
Pavel Dvorkin
Re[4]: VS2008 на Win10
От: kov_serg Россия  
Дата: 28.10.24 16:19
Оценка:
Здравствуйте, Pavel Dvorkin, Вы писали:

PD>Здравствуйте, kov_serg, Вы писали:


_>>Очередные минные поля заботливо расставленные микрософтом.


PD>Не думаю. Скорее просто нет обратной совместимости. Когда-то пытался запустить VS6 под то ли XP, то ли 7 — было не лучше.


PD>Compatibility не пробовал ?


PD>https://support.microsoft.com/en-us/windows/make-older-apps-or-programs-compatible-with-windows-783d6dd7-b439-bdb0-0490-54eea0f45938


Ставлю совместмость с win7, просит рава админа и работает так же и все те же ругательства.
Re[5]: VS2008 на Win10
От: Pavel Dvorkin Россия  
Дата: 29.10.24 01:44
Оценка:
Здравствуйте, kov_serg, Вы писали:

_>Ставлю совместмость с win7, просит рава админа и работает так же и все те же ругательства.


Тогда единственное, что могу предложить — запустить ее под Process Monitor

https://learn.microsoft.com/en-us/sysinternals/downloads/procmon

и попробовать понять, чего она не находит.

Или ставить виртуалку с XP

P.S. Еще одна идея. А не может оказаться, что 32-битной CLR не хватает какой-то 32-битной нативной библиотеки ?
Обычно в таком случае выдается, что не удается загрузить именно ту библиотеку, которой чего-то не хватает, а чего ей не хватает — догадывайся как хочешь.
Можно запустить Dependency Walker и посмотреть зависимости.
Или просто переустановить 32-битную CLR.
With best regards
Pavel Dvorkin
Отредактировано 29.10.2024 2:01 Pavel Dvorkin . Предыдущая версия .
Re[3]: VS2008 на Win10
От: Михаил Романов Удмуртия https://mihailromanov.wordpress.com/
Дата: 29.10.24 06:21
Оценка:
Здравствуйте, kov_serg, Вы писали:

_>и получил сообщение что на целевой платформе нету .net 3.5, хотя он есть.

В теории, установленная версия проверяется по реестру и там немного разные схемы того, какой фреймворк куда что пишет.

Попробуйте посмотреть по путям, которые тут указаны — может быть поможет дописать что-то руками.
Re[4]: VS2008 на Win10
От: kov_serg Россия  
Дата: 29.10.24 09:43
Оценка:
Здравствуйте, Михаил Романов, Вы писали:

_>>и получил сообщение что на целевой платформе нету .net 3.5, хотя он есть.

МР>В теории, установленная версия проверяется по реестру и там немного разные схемы того, какой фреймворк куда что пишет.

МР>Попробуйте посмотреть по путям, которые тут указаны — может быть поможет дописать что-то руками.


В реесте всё штатно, как написано в статье.
Re[6]: VS2008 на Win10
От: kov_serg Россия  
Дата: 29.10.24 10:36
Оценка:
Здравствуйте, Pavel Dvorkin, Вы писали:

_>>Ставлю совместмость с win7, просит рава админа и работает так же и все те же ругательства.


PD>Тогда единственное, что могу предложить — запустить ее под Process Monitor


PD>https://learn.microsoft.com/en-us/sysinternals/downloads/procmon


PD>и попробовать понять, чего она не находит.

PD>Или ставить виртуалку с XP
В виртуалке всё норм просто внезапно попробывал на живой машине в 10ке запустить и обнаружились новые палки в колёса от мелкомякгих.

PD>P.S. Еще одна идея. А не может оказаться, что 32-битной CLR не хватает какой-то 32-битной нативной библиотеки ?

PD>Обычно в таком случае выдается, что не удается загрузить именно ту библиотеку, которой чего-то не хватает, а чего ей не хватает — догадывайся как хочешь.
PD>Можно запустить Dependency Walker и посмотреть зависимости.
PD>Или просто переустановить 32-битную CLR.

В виртуалке с 7кой работает без проблем, а на ноуте с 10-кой внезапно оказалось что есть засада.
Re[5]: VS2008 на Win10
От: Михаил Романов Удмуртия https://mihailromanov.wordpress.com/
Дата: 29.10.24 14:18
Оценка: +1
Здравствуйте, kov_serg, Вы писали:

_>В реесте всё штатно, как написано в статье.


Хорошо. Тогда на уровне бреда — а у вас стоит VS2008 с всеми SP или нет? Просто 3.5 у вас указан с SP1, а, например, студия стоит без обновлений и она ждет другую версию фреймворка (номер билда...)
Правда, эта теория плохо бьется с тем, что на Win7 все работает (там по умолчанию не ставится, но приезжает с обновлениями)
Re[6]: VS2008 на Win10
От: Михаил Романов Удмуртия https://mihailromanov.wordpress.com/
Дата: 29.10.24 14:21
Оценка:
Здравствуйте, Михаил Романов, Вы писали:

МР>Правда, эта теория плохо бьется с тем, что на Win7 все работает (там по умолчанию не ставится, но приезжает с обновлениями)

Похоже, я был не прав https://en.wikipedia.org/wiki/.NET_Framework_version_history
Там включен именно SP1
Re: VS2008 на Win10
От: Михаил Романов Удмуртия https://mihailromanov.wordpress.com/
Дата: 29.10.24 14:24
Оценка:
Здравствуйте, kov_serg, Вы писали:

_>Запустил VS2008 C# под win10 и с удивлением узнал что оно не очень-то и работает, хотя казалось бы что мешает.

_>При попытке запустить вываливает такое окно:

А с чем вообще связана необходимость запустить VS2008 на Win10. Вроде как 2022 поддерживает старые фреймворки (сам не пользовался)?
Re[2]: VS2008 на Win10
От: kov_serg Россия  
Дата: 29.10.24 16:04
Оценка:
Здравствуйте, Михаил Романов, Вы писали:


МР>А с чем вообще связана необходимость запустить VS2008 на Win10. Вроде как 2022 поддерживает старые фреймворки (сам не пользовался)?

Надо что бы конечный софт работал на win7, а лучше что бы на winxp мог пускаться
Re[3]: VS2008 на Win10
От: _NN_ www.nemerleweb.com
Дата: 29.10.24 21:49
Оценка:
Здравствуйте, kov_serg, Вы писали:

_>Здравствуйте, Михаил Романов, Вы писали:



МР>>А с чем вообще связана необходимость запустить VS2008 на Win10. Вроде как 2022 поддерживает старые фреймворки (сам не пользовался)?

_>Надо что бы конечный софт работал на win7, а лучше что бы на winxp мог пускаться

Чтобвы запускать на Win7 не нужно студию 2008.
Даже самая последняя 2022 собирает рабочие файлы в Win7.

Для XP это сложнее, но даже и это не проблема.
Та же 2022 позволяет установить C++ Windows XP Support for VS 2017 (v141) tools .
Надо только указать тулсет при сборке:



Если очень прямо хотити 2008, то видимо нужно уставноить опцинальный .NET 3.5 ,который начиная с Windows 8 не устанавливается по умолчанию.
http://rsdn.nemerleweb.com
http://nemerleweb.com
Re[6]: VS2008 на Win10
От: kov_serg Россия  
Дата: 29.10.24 21:53
Оценка:
Здравствуйте, Pavel Dvorkin, Вы писали:

PD>Тогда единственное, что могу предложить — запустить ее под Process Monitor

Process Monitor показал что если прописать

HKLM\SOFTWARE\WOW6432Node\Microsoft\VisualStudio\9.0\AD7Metrics\Engine\{449EC4CC-30D2-4032-9256-EE18EB41B62B}
CLRVersionForDebugging=v3.5


То посылает лесом, так как нету файла C:\Windows\Microsoft.NET\Framework64\v3.5\mscordbi.dll

Но если вместо v3.5 написать v2.0.50727 то внезапно всё заработает будет запускаться.
Но отладка работать не будет, сообщая что-то типа такого.

HKLM\SOFTWARE\WOW6432Node\Microsoft\VisualStudio\9.0\AD7Metrics\Engine\{449EC4CC-30D2-4032-9256-EE18EB41B62B}
CLRVersionForDebugging=v2.0.50727

т.к. очевидно что v2.0.50727 это v3.5
Правда остаётся пока загадкой почему он по умолчанию грузит черти чё.
Не смотря на то что во всех конфигах студии указано что надо v2.0.50727 win10 настойчиво грузит net4
<?xml version ="1.0"?>
<configuration>
    <configSections>
        <section name="msbuildToolsets" type="Microsoft.Build.BuildEngine.ToolsetConfigurationSection, Microsoft.Build.Engine, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
    </configSections>
    <startup>
        <supportedRuntime version="v2.0.50727" safemode="true"/>
        <requiredRuntime version="v2.0.50727" safemode="true"/>
    </startup>
...
Отредактировано 29.10.2024 22:16 kov_serg . Предыдущая версия . Еще …
Отредактировано 29.10.2024 21:53 kov_serg . Предыдущая версия .
Re[4]: VS2008 на Win10
От: kov_serg Россия  
Дата: 29.10.24 21:57
Оценка:
Здравствуйте, _NN_, Вы писали:


_NN>Если очень прямо хотити 2008, то видимо нужно уставноить опцинальный .NET 3.5 ,который начиная с Windows 8 не устанавливается по умолчанию.

Вся эта хенотень ставится вместе с vs2008. Я клоню к тому что добавили искуственную несовместмость.
Отредактировано 29.10.2024 23:53 kov_serg . Предыдущая версия .
Re[7]: VS2008 на Win10
От: kov_serg Россия  
Дата: 29.10.24 23:10
Оценка: 147 (5)
Здравствуйте, kov_serg, Вы писали:

_>Не смотря на то что во всех конфигах студии указано что надо v2.0.50727 win10 настойчиво грузит net4

Нашел как вылечить:

fix.reg — после этого всё работает как задумано
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework]
"OnlyUseLatestCLR"=dword:00000000

[HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\.NETFramework]
"OnlyUseLatestCLR"=dword:00000000


unfix.reg — возвращает взад как было
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework]
"OnlyUseLatestCLR"=dword:00000001

[HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\.NETFramework]
"OnlyUseLatestCLR"=dword:00000001
Re[7]: VS2008 на Win10
От: Pavel Dvorkin Россия  
Дата: 30.10.24 01:35
Оценка:
Здравствуйте, kov_serg, Вы писали:

_>То посылает лесом, так как нету файла C:\Windows\Microsoft.NET\Framework64\v3.5\mscordbi.dll


Хм, а почему Framework64 ? Точно 64-битное приложение ?

У меня, кстати, в Framework64 только v4.0.30319 . А вот в Framework аж 4 штуки, в том числе v2.0.50727

Вот здесь, кстати, сказано, что VS2008 не ставит по умолчанию 64 бита для C++

https://stackoverflow.com/questions/5979675/visual-studio-2008-c-no-x64-platform

и сказано, как ее поставить.

А без нее, боюсь, ничего работать и с .NET не может, так как дотнетовские библиотеки почти наверняка вызывают RTL C++

_>Но если вместо v3.5 написать v2.0.50727 то внезапно всё заработает будет запускаться.

_>Но отладка работать не будет, сообщая что-то типа такого.

_>Не смотря на то что во всех конфигах студии указано что надо v2.0.50727 win10 настойчиво грузит net4


А в режиме Compatiblity с вариантом, скажем, Windows 7 ?
With best regards
Pavel Dvorkin
Re[4]: VS2008 на Win10
От: Doom100500 Израиль  
Дата: 30.10.24 07:06
Оценка:
Здравствуйте, _NN_, Вы писали:

_NN>Чтобвы запускать на Win7 не нужно студию 2008.

_NN>Даже самая последняя 2022 собирает рабочие файлы в Win7.

Нет
Нам пришлось build server обновлять.
Она даже не поставилась(после, кстати, какого-то обновления, а отката у них не предусмотрено)
Спасибо за внимание
Re[5]: VS2008 на Win10
От: _NN_ www.nemerleweb.com
Дата: 30.10.24 16:05
Оценка:
Здравствуйте, kov_serg, Вы писали:

_>Здравствуйте, _NN_, Вы писали:



_NN>>Если очень прямо хотити 2008, то видимо нужно уставноить опцинальный .NET 3.5 ,который начиная с Windows 8 не устанавливается по умолчанию.

_>Вся эта хенотень ставится вместе с vs2008. Я клоню к тому что добавили искуственную несовместмость.

А кому сегодня нужен именно .NET 3.5 , а не достаточно .NET 4.x?
Практически никому кроме случаев когда не прописан app.config.
Все продукты , которые хотят работать как с 3.5 так и с 4.х его прописывают.

Это когда вышла студия 2008 тогда невозможно было это сделать.

Установить 3.5 опциональный компонент дело одной команды в командной строке.
http://rsdn.nemerleweb.com
http://nemerleweb.com
Re[5]: VS2008 на Win10
От: _NN_ www.nemerleweb.com
Дата: 30.10.24 17:28
Оценка:
Здравствуйте, Doom100500, Вы писали:

D>Здравствуйте, _NN_, Вы писали:


_NN>>Чтобвы запускать на Win7 не нужно студию 2008.

_NN>>Даже самая последняя 2022 собирает рабочие файлы в Win7.

D>Нет

D>Нам пришлось build server обновлять.
D>Она даже не поставилась(после, кстати, какого-то обновления, а отката у них не предусмотрено)

Возможно я проблема не понял до конца.
У нас на данный момент компилятор из 2022-й студии прекрасно собирает бинарники, которые работают под Windows 7.
Конечно требуется Windows 7SP1 и последующие обновления.
С системой и так достаточно изъянов безопасности, а без обновлений я бы не советовал пользоваться совсем.
http://rsdn.nemerleweb.com
http://nemerleweb.com
Re[8]: VS2008 на Win10
От: kov_serg Россия  
Дата: 30.10.24 19:30
Оценка:
Здравствуйте, Pavel Dvorkin, Вы писали:

PD>Хм, а почему Framework64 ? Точно 64-битное приложение ?

Потому что он может как 64 так и 32 по умолчанию стоит Any

PD>У меня, кстати, в Framework64 только v4.0.30319 . А вот в Framework аж 4 штуки, в том числе v2.0.50727


PD>Вот здесь, кстати, сказано, что VS2008 не ставит по умолчанию 64 бита для C++

PD>https://stackoverflow.com/questions/5979675/visual-studio-2008-c-no-x64-platform\
PD>и сказано, как ее поставить.
Хз. Я при установке выбираю full и оно ставит 32 и 64 бит. Кстати с C++ проблем нет оно работатет. А вот .net удивил.

PD>А без нее, боюсь, ничего работать и с .NET не может, так как дотнетовские библиотеки почти наверняка вызывают RTL C++

_>>Но если вместо v3.5 написать v2.0.50727 то внезапно всё заработает будет запускаться.
_>>Но отладка работать не будет, сообщая что-то типа такого.
_>>Не смотря на то что во всех конфигах студии указано что надо v2.0.50727 win10 настойчиво грузит net4

PD>А в режиме Compatiblity с вариантом, скажем, Windows 7 ?

Не работает. Более того для devenv не даёт менять свойства совместимости, т.е. файл надо сначала переименовать

Самое прикольное если запустить через ярлык. Все шрифты рисует 200% для hidpi, а если через файл solution то ide открывается c нормальными шрифтами, которые местами не влазят
Отредактировано 30.10.2024 19:32 kov_serg . Предыдущая версия .
Re[6]: VS2008 на Win10
От: kov_serg Россия  
Дата: 30.10.24 19:49
Оценка:
Здравствуйте, _NN_, Вы писали:

_NN>А кому сегодня нужен именно .NET 3.5 , а не достаточно .NET 4.x?

Да мне в общем-то вобще никакой .net не нужен. Просто надо быстро на каленке сделать arm оператора который работает с базой firebird и имеет возможноть работать на любом гавне мамонта.

_NN>Практически никому кроме случаев когда не прописан app.config.

_NN>Все продукты , которые хотят работать как с 3.5 так и с 4.х его прописывают.
Именно в документации написано что app.config 4 и потом 3.5 и тогда 4 использовать можно если нет 3.5. А когда просто 3.5, и его нет просто должно ругаться.

_NN>Это когда вышла студия 2008 тогда невозможно было это сделать.

_NN>Установить 3.5 опциональный компонент дело одной команды в командной строке.

Так он есть, более того всё компилирует и запускает, отладчик не работал в студии. Т.е. стадия не совместима с .net4 потому как .net4 нет полной обратной совместимости с .net3.5, не смотря на то что может показатья что она есть.
Re[7]: VS2008 на Win10
От: _NN_ www.nemerleweb.com
Дата: 30.10.24 20:17
Оценка:
Здравствуйте, kov_serg, Вы писали:

_>Здравствуйте, _NN_, Вы писали:


_NN>>А кому сегодня нужен именно .NET 3.5 , а не достаточно .NET 4.x?

_>Да мне в общем-то вобще никакой .net не нужен. Просто надо быстро на каленке сделать arm оператора который работает с базой firebird и имеет возможноть работать на любом гавне мамонта.

_NN>>Практически никому кроме случаев когда не прописан app.config.

_NN>>Все продукты , которые хотят работать как с 3.5 так и с 4.х его прописывают.
_>Именно в документации написано что app.config 4 и потом 3.5 и тогда 4 использовать можно если нет 3.5. А когда просто 3.5, и его нет просто должно ругаться.
Точнее 2.0 , потому как CLR 3.5 не существует.

https://learn.microsoft.com/en-us/dotnet/framework/migration-guide/how-to-configure-an-app-to-support-net-framework-4-or-4-5

_NN>>Это когда вышла студия 2008 тогда невозможно было это сделать.

_NN>>Установить 3.5 опциональный компонент дело одной команды в командной строке.

_>Так он есть, более того всё компилирует и запускает, отладчик не работал в студии. Т.е. стадия не совместима с .net4 потому как .net4 нет полной обратной совместимости с .net3.5, не смотря на то что может показатья что она есть.

Она не полная, хотя очень стараются, не в документации об этом указано.
https://learn.microsoft.com/en-us/dotnet/framework/migration-guide/version-compatibility?redirectedfrom=MSDN#Apps

В целом программы собранные под 3.5 будут работать с 4.0 , но стоит конечно проверять.
В своё время у нас почти не было проблем , но иногда чинили небольшие несоответствия.
http://rsdn.nemerleweb.com
http://nemerleweb.com
Re[8]: VS2008 на Win10
От: kov_serg Россия  
Дата: 04.11.24 15:44
Оценка: 4 (1)
Здравствуйте, kov_serg, Вы писали:

_>Здравствуйте, kov_serg, Вы писали:


_>>Не смотря на то что во всех конфигах студии указано что надо v2.0.50727 win10 настойчиво грузит net4

_>Нашел как вылечить:

_>fix.reg — после этого всё работает как задумано

_>
_>Windows Registry Editor Version 5.00

_>[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework]
_>"OnlyUseLatestCLR"=dword:00000000

_>[HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\.NETFramework]
_>"OnlyUseLatestCLR"=dword:00000000
_>


_>unfix.reg — возвращает взад как было

_>
_>Windows Registry Editor Version 5.00

_>[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework]
_>"OnlyUseLatestCLR"=dword:00000001

_>[HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\.NETFramework]
_>"OnlyUseLatestCLR"=dword:00000001
_>


Еще одна загадка если с этим фиксом перезагрузить 10ку. То производительность падает в 8-10 раз. Память 85Гб/с -> 1.2Гб/c произв с 320GFlop->25GFlop хз что там отваливается и зачем при инициализации оборудования используется .net но эффект воспроизводимый.
Так что перед перезагрузкой надо возвращать обратно, иначе будет сюрприз
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.