VS2010 C # не включает правильную версию .net Framework в целевой - PullRequest
0 голосов
/ 12 декабря 2018

Я выполняю работы по сопровождению проекта C2010 C #, созданного для .net v3.5.

Я недавно изменил свойства Target Framework проекта до последней из перечисленных версий (v4) - из-за ожидания использованияверсия .net, которая фактически включена в Win10 по умолчанию и перестраивается без каких-либо явных проблем.

К сожалению, встроенная зависимость в сгенерированном .exe по-прежнему для .net v2.0.50727 (о чем сообщаетсядля v3.5 AFAIK) и целевой компьютер (чистая установка Win10) просит установить .net 3.5.

с использованием MS VS2010 v10.0.40219.1 SP1Rel.К сожалению, обновление инструментов сборки невозможно (сборка программы с VS2015 работает отлично).

Я гуглю, но, похоже, не нашел подобных отчетов.

На основев некоторых уже опубликованных комментариях я, кажется, не совсем ясно высказался - надеюсь, поможет следующее:

1) намерение / требование состоит в том, чтобы иметь возможность установить это приложение на чистой установке Win10 без необходимости любых дальнейших загрузок.(установка .net 3.5 проста, просто не то, что нужно)

2) конечная среда сборки для этого автоматизирована, визуализирована и не находится под моим контролем, поэтому модернизация цепочки инструментов большая боль, которую я бы хотел избежать, если это возможно.

3) AFAIK Вовлечены нет сторонних библиотек.Все перечисленные ссылки (dll) v4.0.30319.

4) это разработка на основе XAML, одна часть из трех проектов в решении - остальные записи - это установщик и библиотека пользовательской установки C #,Насколько я могу сказать, все установлено для .net v4.

Ответы [ 2 ]

0 голосов
/ 17 декабря 2018

Спасибо всем, кто пытался мне помочь!

Проблема была решена.

Похоже, что у этой проблемы было две причины и моя путаница:

  1. оказывается, что чистая установка Win10, на которой проводилось тестирование, была не совсем чистой - предустановленные сетевые драйверы / утилиты от Intel также имели зависимость .Net v3.5 ...

  2. одним из встроенных ресурсов в проекте был фактически несжатый тар-шар, содержащий несколько файлов;включая исполняемый файл, который зависел от .net v3.5 - это был двоичный двоичный объект, хранящийся в svn, поэтому содержимое не обновлялось в течение нескольких лет (т.е. задолго до моего участия) ...

После решения обеих этих проблем может показаться, что моя проблема решена, поэтому еще раз спасибо за ваши отзывы, предложения и терпение,

PeterT: ->

0 голосов
/ 12 декабря 2018

К сожалению, встроенная зависимость в сгенерированном .exe-файле все еще для .net v2.0.50727 (о чем сообщается для AFAIK v3.5), и целевой компьютер (чистая установка Win10) просит установить.net 3.5

Таким образом, в вашем проекте есть зависимость, нацеленная на эту версию .NET.Может быть, вам нужно Build > Clean Solution и с Build > Rebuild Solution проблема решена.

В противном случае, если для некоторой библиотеки требуется некоторая библиотека .NET 3.x, запрос на установку является полностью правильным.В Windows 10 не есть опция для установки .NET 2.0 и другая для установки .NET 3.5.Если вы ищете Turn Windows features on or off, вы увидите это:

enter image description here

Любая зависимость от .NET 2.x-3Библиотека .x запустит активацию / установку первой функции в диалоге.

Насколько я вижу, у вас есть 2 варианта:

  1. Перемещение всего в среду, поддерживаемую Microsoft, наиболее предпочтительно с учетом .NET 4.7.2поддержка и безопасность.
  2. Изучите процесс установки и поймите, что Microsoft не устанавливает эти версии .NET по назначению.Однако вы можете добавить эти установщики в качестве предварительного условия и даже связать их с вашей установкой, но это не очень поможет.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...