У меня есть проект С#, который я создаю в VS 2010. Он ссылается на проект С++ через COM, который также является частью решения. В прошлую пятницу я сделал успешную сборку, изменил одну строку кода, сделал еще одну сборку, и я начал получать сообщение об ошибке .NET.
Целевая версия .NET Framework в проекте не соответствует версии запуска .NET Framework версии .NET Framework 3.5. Обновите версию условия запуска .NET Framework для соответствия целевой версии .NET Framework в диалоговом окне "Дополнительные параметры компиляции" (VB) или на странице приложения (С#, F #).
- Проект → Свойства → Приложение → Целевая структура (для каждого проекта в Debug и Release)
- Проект → Свойства → Опубликовать → Предварительные требования (подтвержденный .NET 3.5 и установщик Windows 3.1)
- Настройка → Условия запуска → .NET Framework
- Настройка → Свойства → Предварительные требования
Я также просмотрел код vdproj для моего установщика, подтвердив условия запуска .NET 3.5:
"ComponentsUrl" = "8:"
"Items"
{
"{EDC2488A-8267-493A-A98E-7D9C3B36CDF3}:Microsoft.Net.Framework.3.5.SP1"
{
"Name" = "8:.NET Framework 3.5 SP1"
"ProductCode" = "8:Microsoft.Net.Framework.3.5.SP1"
}
"{EDC2488A-8267-493A-A98E-7D9C3B36CDF3}:Microsoft.Windows.Installer.3.1"
{
"Name" = "8:Windows Installer 3.1"
"ProductCode" = "8:Microsoft.Windows.Installer.3.1"
}
}
"ComponentsUrl" = "8:"
"Items"
{
"{EDC2488A-8267-493A-A98E-7D9C3B36CDF3}:Microsoft.Net.Framework.3.5.SP1"
{
"Name" = "8:.NET Framework 3.5 SP1"
"ProductCode" = "8:Microsoft.Net.Framework.3.5.SP1"
}
"{EDC2488A-8267-493A-A98E-7D9C3B36CDF3}:Microsoft.Windows.Installer.3.1"
{
"Name" = "8:Windows Installer 3.1"
"ProductCode" = "8:Microsoft.Windows.Installer.3.1"
}
}
"LaunchCondition"
{
"{A06ECF26-33A3-4562-8140-9B0E340D4F24}:_799EF2A78D074B669D0B30310FD56A67"
{
"Name" = "8:.NET Framework"
"Message" = "8:[VSDNETMSG]"
"FrameworkVersion" = "8:.NETFramework,Version=v3.5"
"AllowLaterVersions" = "11:FALSE"
"InstallUrl" = "8:http://go.microsoft.com/fwlink/?LinkId=131000"
}
}
Поскольку я строю для компилятора x86 и x64, у меня есть два проекта установки. Второй, для процессора x86, не получает ошибку .NET. Я сравнил код в своем vdproj с этим, и он выглядит одинаково.
Я нашел несколько потоков по этой проблеме, включая очень хороший здесь, но ни один из них не помог мне решить эту проблему. Любые предложения были бы полезными.
ИЗМЕНИТЬ
Я изменил все на .NET 4.0, чтобы убедиться, что это имеет значение, и проект был успешно выполнен. Я изменил его, и он снова дал мне ошибку версии .NET. Я проверил файл vdproj для любой ссылки "4.0" и нашел его только для AspNetVersion, который также произошел в x86-версии программы установки, которая работает.
"AspNetVersion" = "8:4.0.30319.0"
Мне нужно выпустить с .NET 3.5, так что это было просто упражнение, чтобы увидеть, разрешило ли изменение версии что-то еще и обратно.