Ответ 1
Проблема была вызвана изменениями, сделанными в этом сообщении . Это вызвало проблему с загрузкой последней версии CLR. Будьте осторожны!
У меня есть проект 2010 года, предназначенный для .NET v3.5. По необъяснимым причинам я больше не могу строить проекты v3.5. В проекте нет ЛЮБЫХ ссылок. Он даже не позволит мне добавить ссылку на System.Core, поскольку она добавлена системой сборки.
предупреждение CS1685: предопределенный тип 'System.Func' определен в несколько сборок в глобальном псевдоним; используя определение из 'C:\Windows\Microsoft.NET\Framework\v4.0.30319\mscorlib.dll'
IFilter.cs(82,49): ошибка CS0433: Тип 'System.Func' существует в обоих файлах c:\Program Files (X86)\Ссылка Сборки \Microsoft\Framework\v3.5\System.Core.dll" а также 'C:\Windows\Microsoft.NET\Framework\v4.0.30319\mscorlib.dll'
Похоже, что что-то хватит на 4.0, но я не совсем уверен, как это исправить. Кто-нибудь еще сталкивается с этим?
У Коллегера была такая же проблема. Для исправления проблемы потребовалась переустановка Windows
Я открыл ошибку на этом: https://connect.microsoft.com/VisualStudio/feedback/details/558245/warning-cs1685-when-compiling-a-v3-5-net-application-in-visual-studio-2010
Если компилятор настроен на подробный, я вижу следующее:
FrameworkPathOverride = C:\Windows\Microsoft.NET\Framework\v4.0.30319
который определяется как:
Определяет местоположение mscorlib.dll и microsoft.visualbasic.dll. Эта параметр эквивалентен /sdkpath для vbc.exe компилятор.
Некоторые другие интересные лакомые кусочки: я создал новый проект вместе и не могу построить v3.5 вообще. Я могу создать 2.0, 3.0, 3.5 Client Profile, 4.0 и 4.0 Client Profile без проблем. VB.NET может создавать v3.5, но С# не может. Я пробовал переустановить .NET 3.5, 4.0 и Visual Studio 2010 без успеха. Журналы отладки Visual Studio не показали ничего интересного, и безопасный режим не работает.
Попытка избежать переустановки Windows...
EDIT: Я понял, что другие сталкиваются с этой проблемой. Ссылка, Ссылка, Ссылка
Переустановлено несколько раз. Удаленные объекты Visual Studio не очищаются после себя. Я развернул виртуальную машину для разработки, пока у меня не будет возможности переустановить основную ОС.
Проблема была вызвана изменениями, сделанными в этом сообщении . Это вызвало проблему с загрузкой последней версии CLR. Будьте осторожны!
Маленький чит: Открытые свойства проекта VS210 страницы ob build advanced check не ссылаются на mscorlib.dll. Затем в текстовом редакторе откройте файл проекта и добавьте в ссылки:
<Reference Include="mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL" />
Bye
Здесь предложение :
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<ItemGroup> <Reference Include="System" /> <Reference Include="System.Data" /> <Reference Include="System.Xml" /> <Reference Include="Microsoft.CSharp" /> ... </ItemGroup>
Убедитесь, что нет двойной ссылки.
Надеюсь, это поможет.
Если нет, создайте резервную копию файлов проекта, удалите проект и повторно добавьте его в новый проект. Это, скорее всего, будет работать.
Я думаю, что может быть ссылка на фреймворк 4.0 в файле проекта или решения - возможно, существуют разные элементы TargetFrameworkVersion. Или, возможно, некоторые из файлов в папке bin или obj не синхронизированы.
Попробуйте очистить решение или даже вручную удалить содержимое папки bin и obj. Если это не помогает, просто сравните текущую версию с последней рабочей версией в Subversion или с какой бы системой управления версиями вы не использовали, и вы должны увидеть, произошли ли изменения.
Per этот пост в Microsoft Connect, вы можете решить эту проблему, добавив строку в ваше решение или файл проекта, устанавливая ToolPath для AspNetCompiler должен быть "C:\Windows\Microsoft.NET\Framework\v2.0.50727".
Я видел эту проблему много раз - обходной путь может быть очень простым.
В моем случае оскорбительный проект VS содержал множество виртуальных каталогов (20).
Как только это снова ударит, я удаляю все Virtuals Dirs, а затем воссоздал по одному и каждый раз восстанавливал проект при поиске этого erorr.
Когда я добавил две виртуальные машины назад, с компиляцией NO, ошибка снова появилась.
Решение было удалить последний VDir, затем перестроить, восстановить Vdirs и затем перестроить. Просто из-за этих причудливых причудливых вещей, найденных путем методичного повторения процесса, который может стать "timevamp" или "sunktime", который принимает ваш день, вечер, позднюю ночь и, возможно, доступ к хорошему пиву на местном пивоваренном заводе.