Запустил VS2008 C# под win10 и с удивлением узнал что оно не очень-то и работает, хотя казалось бы что мешает.
При попытке запустить вываливает такое окно:
Кто-нибудь с такм сталкивался? Где ему в реестре ключи править надо?
Здравствуйте, kov_serg, Вы писали:
_>Запустил VS2008 C# под win10 и с удивлением узнал что оно не очень-то и работает, хотя казалось бы что мешает. _>При попытке запустить вываливает такое окно:
Здравствуйте, Pavel Dvorkin, Вы писали:
PD>Здравствуйте, kov_serg, Вы писали:
_>>Запустил VS2008 C# под win10 и с удивлением узнал что оно не очень-то и работает, хотя казалось бы что мешает. _>>При попытке запустить вываливает такое окно:
PD>При попытке запустить ее или отладку в ней ?
Да. Без отладки запускает, а вот отладчик посылает в сад
PD>В точности это сообщение обсуждается здесь
PD>https://stackoverflow.com/questions/1780116/unable-to-start-debugging-message-in-vs-2008
P.S. Еще одна идея. А не может оказаться, что 32-битной CLR не хватает какой-то 32-битной нативной библиотеки ?
Обычно в таком случае выдается, что не удается загрузить именно ту библиотеку, которой чего-то не хватает, а чего ей не хватает — догадывайся как хочешь.
Можно запустить Dependency Walker и посмотреть зависимости.
Или просто переустановить 32-битную CLR.
Здравствуйте, kov_serg, Вы писали:
_>и получил сообщение что на целевой платформе нету .net 3.5, хотя он есть.
В теории, установленная версия проверяется по реестру и там немного разные схемы того, какой фреймворк куда что пишет.
Попробуйте посмотреть по путям, которые тут указаны — может быть поможет дописать что-то руками.
Здравствуйте, Михаил Романов, Вы писали:
_>>и получил сообщение что на целевой платформе нету .net 3.5, хотя он есть. МР>В теории, установленная версия проверяется по реестру и там немного разные схемы того, какой фреймворк куда что пишет.
МР>Попробуйте посмотреть по путям, которые тут указаны — может быть поможет дописать что-то руками.
Здравствуйте, 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-кой внезапно оказалось что есть засада.
Здравствуйте, kov_serg, Вы писали:
_>В реесте всёштатно, как написано в статье.
Хорошо. Тогда на уровне бреда — а у вас стоит VS2008 с всеми SP или нет? Просто 3.5 у вас указан с SP1, а, например, студия стоит без обновлений и она ждет другую версию фреймворка (номер билда...)
Правда, эта теория плохо бьется с тем, что на Win7 все работает (там по умолчанию не ставится, но приезжает с обновлениями)
Здравствуйте, Михаил Романов, Вы писали:
МР>Правда, эта теория плохо бьется с тем, что на Win7 все работает (там по умолчанию не ставится, но приезжает с обновлениями)
Похоже, я был не прав https://en.wikipedia.org/wiki/.NET_Framework_version_history
Там включен именно SP1
Здравствуйте, kov_serg, Вы писали:
_>Запустил VS2008 C# под win10 и с удивлением узнал что оно не очень-то и работает, хотя казалось бы что мешает. _>При попытке запустить вываливает такое окно:
А с чем вообще связана необходимость запустить VS2008 на Win10. Вроде как 2022 поддерживает старые фреймворки (сам не пользовался)?
МР>А с чем вообще связана необходимость запустить VS2008 на Win10. Вроде как 2022 поддерживает старые фреймворки (сам не пользовался)?
Надо что бы конечный софт работал на win7, а лучше что бы на winxp мог пускаться
Здравствуйте, 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 не устанавливается по умолчанию.
Здравствуйте, Pavel Dvorkin, Вы писали:
PD>Тогда единственное, что могу предложить — запустить ее под Process Monitor
Process Monitor показал что если прописать
т.к. очевидно что v2.0.50727 это v3.5
Правда остаётся пока загадкой почему он по умолчанию грузит черти чё.
Не смотря на то что во всех конфигах студии указано что надо v2.0.50727 win10 настойчиво грузит net4
_NN>Если очень прямо хотити 2008, то видимо нужно уставноить опцинальный .NET 3.5 ,который начиная с Windows 8 не устанавливается по умолчанию.
Вся эта хенотень ставится вместе с vs2008. Я клоню к тому что добавили искуственную несовместмость.
Здравствуйте, 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
А без нее, боюсь, ничего работать и с .NET не может, так как дотнетовские библиотеки почти наверняка вызывают RTL C++
_>Но если вместо v3.5 написать v2.0.50727 то внезапно всё заработает будет запускаться. _>Но отладка работать не будет, сообщая что-то типа такого.
_>Не смотря на то что во всех конфигах студии указано что надо v2.0.50727 win10 настойчиво грузит net4
А в режиме Compatiblity с вариантом, скажем, Windows 7 ?
Здравствуйте, 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 опциональный компонент дело одной команды в командной строке.
Здравствуйте, Doom100500, Вы писали:
D>Здравствуйте, _NN_, Вы писали:
_NN>>Чтобвы запускать на Win7 не нужно студию 2008. _NN>>Даже самая последняя 2022 собирает рабочие файлы в Win7.
D>Нет D>Нам пришлось build server обновлять. D>Она даже не поставилась(после, кстати, какого-то обновления, а отката у них не предусмотрено)
Возможно я проблема не понял до конца.
У нас на данный момент компилятор из 2022-й студии прекрасно собирает бинарники, которые работают под Windows 7.
Конечно требуется Windows 7SP1 и последующие обновления.
С системой и так достаточно изъянов безопасности, а без обновлений я бы не советовал пользоваться совсем.
Здравствуйте, 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 нормальными шрифтами, которые местами не влазят
Здравствуйте, _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, не смотря на то что может показатья что она есть.
Здравствуйте, 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 не существует.
В целом программы собранные под 3.5 будут работать с 4.0 , но стоит конечно проверять.
В своё время у нас почти не было проблем , но иногда чинили небольшие несоответствия.
Здравствуйте, 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 но эффект воспроизводимый.
Так что перед перезагрузкой надо возвращать обратно, иначе будет сюрприз