Visual studio ошибка cs1069
Веб-сервер работает под управлением Server 2003. Я пошел в c:\windows\Assembly и действительно заметил, что в списке было 3 версии Common.dll. Самая высокая версия в списке была 3.3.4269.17112
Я могу использовать проводник Windows и убедиться, что более распространенная версия Common.dll теперь есть в списке.
Что еще я могу изучить, чтобы решить эту проблему? Я не хочу менять ссылку в моей сборке, чтобы она указывала на более старую версию.
3 идеи для вас, чтобы попробовать:
- Убедитесь, что все ваши dll скомпилированы для одной и той же версии Common.
- Убедитесь, что в вашем решении есть ссылки на проекты вместо ссылок на файлы.
- Используйте обязательные перенаправления в вашем web.config. ( Первоначально связанная версия на обратном пути машины )
(В дополнение к идеям Якуба)
У меня была эта ошибка, потому что «Rebuild» действительно не восстанавливался.
Закройте Visual Studio, действительно перейдите и удалите папку bin, затем пересоберите, она может работать лучше.
Кроме того, иногда Visual Studio лжет о ссылках, поэтому проверьте HintPath в ваших файлах .csproj .
Если вы используете NuGet, стоит перейти к «Управление пакетами NuGet для решения» , найти пакет, вызывающий проблемы, и запустить обновление. Затем следует обновить все пакеты до последней версии и устранить проблему.
Стоит попробовать, так как это быстро и просто.
Моя проблема заключалась в том, что у меня было 2 проекта, ссылающихся на 2 разных копии одной и той же библиотеки DLL, которые имели разные версии. Я исправил это, удалив их обоих и убедившись, что они ссылаются на один и тот же файл DLL.
Одной из возможных причин является то, что вторая сборка установлена в GAC, а первая сборка с более высоким номером версии добавляется в список ссылок проекта. Чтобы убедиться в этом, дважды щелкните по сборке в ссылках проекта и проверьте, есть ли другая сборка с таким же именем в обозревателе объектов.
В этом случае используйте утилиту gacutil.exe, чтобы удалить вторую сборку из GAC. Например, если это 64-битные сборки:
Перейдите в Справочник и добавьте новую ссылку на файл DLL, которая вызывает проблему, и убедитесь, что все ваши библиотеки DLL скомпилированы для одной и той же версии. Это работает для меня, я надеюсь, что это работает и для вас.
Моя команда только что столкнулась с этой проблемой в нашей среде сборки. Проблема была связана с различием в элементе <HintPath> файла .csproj.
Наша общая сборка имела правильный относительный путь к каталогу, содержащему наши справочные сборки. Зависимая сборка имеет путь из прежней структуры каталогов. Решение успешно скомпилировано на компьютерах разработчиков, поскольку GAC разрешил ссылку зависимой системы на правильную версию, установленную в C:\Program Files. Среда сборки имела унаследованную версию сборки (хотя она и не должна была быть), к которой она откатилась, и, следовательно, к ошибке. Обновление <HintPath> в текстовом редакторе исправило проблему.
В вашем проекте найдите ссылки System.Web.Mvc проверьте версию.
После этого щелкните правой кнопкой мыши ссылки -> сборки и найдите system.web.mvc и setup it.
Проблема вызывает различные версии этих сборок .
Правка: затем выберите Управление пакетами NuGet и установите обновления (Если у вас есть несколько проектов, установите обновления для них также.)
Я знаю, что об этом спрашивали довольно давно, после того, как попробовали некоторые из вышеперечисленных шагов. Что помогло мне, были следующие шаги и эта статья .
Я нашел ссылку и изменил PublicKeyToken с того, на который ссылается старый.
Надеюсь, это тоже поможет.
У меня была такая же ошибка. Я исправил ошибку после установки Microsoft.AspNetCore.ALL в тестовый проект.
Была похожая проблема. Моя проблема заключалась в том, что в одном решении было несколько проектов, каждый из которых ссылался на определенную версию DLL, но на разные версии. Решение состояло в том, чтобы установить для «Определенной версии» значение false во всех свойствах всех ссылок.
В нашей команде мы работали на разных компьютерах с git. Кто-то обновил dll , и у меня его не было. Я только что обновил ссылки на свои зависимости и проблема решена.
для SharePoint убедитесь, что в вашей корневой папке нет папки «bin» с вашими DLL, если это так, просто удалите ее. (и измените «Копировать локальный» на false в VS).
У меня была такая же проблема с UnitTestingProject, где в MainProject я использовал «System.Web.Mvc, Version = 3.0.0.0», а в UnitTestingProject я использовал «System.Web.Mvc, Version = 3.0.0.1»
Измените следующее в <Reference Include="System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL"> <HintPath>..\packages\Microsoft.AspNet.Mvc.3.0.50813.1\lib\net40\System.Web.Mvc.dll</HintPath> </Reference>
Папка коллекции ручной работы DLL
Если в вашем решении есть папка для мусора для dll-файлов из разных библиотек
lib , source , libs и т. д.
Вы можете получить эту проблему, если откроете свое решение (на первый раз) в Visual Studio. И папка сбора вашего dll пропущена каким-то образом или пропущен конкретный dll-файл.
Visual Studio попытается самостоятельно заменить ссылку dll на что-либо. Если VS преуспеет, то для вашего локального решения будет сохранена новая ссылка. Не для других клонов/проверок.
То есть Ваш <HintPath> будет игнорироваться, а файл проекта (.csproj) не будет изменен.
Как пример меня
На DocumentFormat.OpenXml будут ссылаться из C:\Program Files (x86)\Open XML SDK\V2.5\lib , а не из папки solution\..\lib .
быстрый обходной путь
- проверьте и восстановите папку сбора вашей dll
- из Solution Explorer сделать выгрузить проект , затем перезагрузить проект .
правильный обходной путь - перейти на менеджер пакетов NuGet.
VSCode имеет множество отличных расширений, и Live Server - одно из лучших.
Всего за пару кликов Live Server позволяет увидеть вашу страницу в реальном времени в реальном браузере. Более того, он имеет функцию перезагрузки в реальном времени, поэтому, если вы обновите свой код, изменения также будут отражены в браузере.
Все, что вам нужно сделать, это щелкнуть правой кнопкой мыши HTML-файл, который вы хотите просмотреть, затем щелкнуть правой кнопкой мыши и выбрать «Открыть с помощью Live Server»:
Но что, если Live Server не открывает ваш браузер и не отображает вашу страницу так, как вы ожидаете? Если это происходит с вами, вот несколько вещей, которые вы можете попробовать.
Перезапустить VSCode
Иногда лучшее, что вы можете сделать, - это запустить VSCode с нуля.
Во-первых, сохраните всю свою работу. Затем закройте VSCode, который также остановит все установленные вами расширения.
Затем снова откройте VSCode и попробуйте еще раз - перейдите к HTML-файлу, который вы хотите просмотреть, щелкните правой кнопкой мыши и выберите «Открыть с помощью Live Server».
Установите браузер для Live Server
Возможно, расширение работает, но в вашей системе нет браузера по умолчанию.
Даже если вы установили браузер по умолчанию для своей системы, не помешало бы сообщить Live Server, какой браузер вы хотите использовать явно.
Сначала откройте Command Pallete с помощью F1, затем введите Preferences: Open Settings (JSON) и выберите эту опцию.
Это откроет ваш settings.json файл VSCode .
Прокрутите файл до конца и вставьте его "liveServer.settings.CustomBrowser": "chrome" .
Прокрутите файл до конца, добавьте запятую после последнего параметра и вставьте "liveServer.settings.CustomBrowser": "chrome" :
Обратите внимание, что вы также можете использовать "firefox" , "safari" или любой другой браузер в качестве значения "liveServer.settings.CustomBrowser" параметра.
Наконец, сохраните settings.json файл и попробуйте снова запустить Live Server.
Установите браузер по умолчанию для вашей операционной системы
Даже после того, как Live Server сообщил, какой браузер вы хотите использовать, возможно, что он по-прежнему неправильно открывает вашу страницу в этом браузере.
Следующее, что нужно попробовать, - это установить браузер по умолчанию для самой операционной системы.
Точный метод для этого может варьироваться в зависимости от вашей операционной системы, поэтому лучше поискать, как это сделать, если вы не уверены.
Вот как выглядит страница настроек в Windows:
Зайдите на живую страницу сами
Если по какой-то причине Live Server по-прежнему не открывает страницу в вашем браузере автоматически, не беспокойтесь. Вы всегда можете открыть любой браузер по вашему выбору и просмотреть страницу напрямую.
Просто откройте предпочтительный браузер и перейдите в //127.0.0.1:5500/ .
Например, если ваш файл называется index.html , просто перейдите по ссылке //127.0.0.1:5500/index.html .
Пока работает Live Server, вы должны видеть свою страницу.
В заключение
Это несколько распространенных исправлений, которые вы можете попробовать, если Live Server не работает так, как вы ожидаете.
К сожалению, единого метода решения для ошибки «Microsoft Visual C++ Runtime Library» нет, так как причины могут быть разными: отсутствующие или поврежденные компоненты системы, влияние сторонних служб и программ, в некоторых случаях — ошибки в самой запускаемой программе (особенно если она была написана вами лично).
Язык программ, не поддерживающих Юникод и пути к папкам с программой
Этот способ решения часто оказывается результативным для пользователей с русскоязычными версиями Windows 10, 8.1 или Windows 7, при условии, что ошибка Microsoft Visual C++ Runtime Library вызывается какой-то сторонней программой, а не системными компонентами, такими как explorer.exe или SystemSettings.exe.
- Если запускаемая игра или программа (или её установщик) находится в папке, путь к которой содержит кириллицу (русские буквы), перенесите её в другое расположение или переименуйте папку, попробуйте запустить. Например, если ваше имя пользователя на русском языке, а файл запускается из папки «Загрузки», то полный путь к ней будет иметь види это может послужить причиной ошибки.
- Зайдите в Панель управления (в Windows 10 панель управления можно открыть через поиск на панели задач) — Региональные стандарты, откройте вкладку «Дополнительно» и в разделе «Язык программ, не поддерживающих Юникод» нажмите «Изменить язык системы». Выберите «Английский (США)», примените настройки и перезагрузите компьютер, затем проверьте, решило ли это проблему.
Обратите внимание, что второй метод может решить проблему, но при этом сделать так, что программа или игра будет запускаться на английском языке — обычно в этом случае достаточно найти соответствующую настройку в самой программе, чтобы вернуть русский язык.
Здесь присутствует один нюанс: обычно мы не знаем, какие именно из многочисленных наборов распространяемых компонентов Microsoft Visual C++ послужил причиной проблемы, а потому я рекомендую следующих подход их переустановки:
Если указанные шаги не решили проблему, выполните следующие шаги:
Драйверы видеокарты и DirectX
После установки драйверов, DirectX и перезагрузки компьютера, проверьте, была ли решена проблема.
Дополнительные методы решения проблемы
- Удалить программы, установленные непосредственно перед появлением ошибки. По отзывам, причиной может быть самое разное стороннее ПО, среди примеров: Intel True Key, программы принтеров HP, антивирусы.
- Использовать точки восстановления системы при их наличии.
- Выполнить чистую загрузку (не путать с установкой) Windows. Если при чистой загрузке ошибка исчезает, то причина — какие-то программы в автозагрузке или сторонние службы. Можно включать их группами, пока не выявим, что именно вызывает ошибку. Как именно выполнить чистую загрузку описано в инструкции Чистая загрузка Windows. .
- Отдельная инструкция для этой же ошибки с кодом R6025 pure virtual function call
Ещё один вариант, для случая, когда ошибку вызывает какой-то системный процесс — создать нового пользователя Windows (лучше, если будет использовано имя на латинице), зайти в систему под ним и проверить, сохраняется ли ошибка у этого пользователя.
Видео инструкция
Надеюсь, проблема была решена. Если это так, буду благодарен комментарию, в котором вы расскажете, что именно оказалось причиной в вашем случае — это может помочь другим пользователям, столкнувшимся с ошибкой.
А вдруг и это будет интересно:
28.01.2021 в 22:31
Есть вопрос к вам по поводу купленного самсунг 980 про и материнки гигабайт аорус мастер z390 так вот нету ни в одной программе ни информации про смарт ни трим ни Ncq ни остального только есть немного инфы в меджикан. у людей на ютюбе эта информация есть
29.01.2021 в 14:49
10.07.2021 в 12:06
В статью можно добавить sxtrace как один из способов.
У меня прога на работе требует vc++ x86 2005ые, но их оказывается есть несколько версий, и с помощью sxtrace можно точно узнать версию требуемой библиотеки.
теперь я сохранил содержимое вышеуказанного url-адреса в файле с именем SnarlNetwork.cs и в являются:
теперь, когда я пытаюсь скомпилировать мой тест.cs файл с помощью csc test.cs Я получаю следующую ошибку:
Итак, что я делаю неправильно здесь, потому что, по моему мнению, я не пропускаю ни одного using directive .
вот в чем проблема:
вы не добавили ссылку на DLL. Нужно что-то вроде:
(или как сборка называется).
кроме того, если у вас нет отдельной библиотеки, просто скомпилируйте оба файла:
если вы не скомпилировали сборку, но хочу, вы можете использовать:
(фактически, указание выходного файла не требуется в этом конкретном случае дело, но все еще яснее. )
Edit: о, игнорируйте меня, Вы не используете Visual Studio.
вы добавили ссылку на ваш проект?
Как в таких вещах:
Это может быть связано с "профилем клиента" .NET Framework. Попробуйте использовать "полную версию".Сеть.
это обычно происходит со мной, когда у меня есть оператор using, но я забыл сослаться на сборку, которая определяет пространство имен.
но в вашем случае, поскольку пространство имен определено в файле в вашем проекте, вы забыли сообщить компилятору о snarlnetwork.cs файл.
У меня была эта ошибка в проекте MVC. И после долгих исследований я выяснил, что .cs-файл, содержащий некоторые из классов, на которые я ссылался в основном проекте, имел действия сборки, установленные на "контент".
после изменения "Content" - >" Compile " ошибка исчезла.
У меня была такая же ошибка, когда используемый cs-файл находился внутри папки проекта ,но не ссылался.csproj родительского проекта. Intellisence видит этот файл внутри папки проекта, но компилятор не видит его из-за отсутствия ссылки.csproj файл
Я решил эту проблему, добавив ссылку на System.Сеть.
Я также получил эту ошибку из-за отсутствия справки. Причина, по которой я не заметил, заключается в том, что Resharper предлагает добавить использование и ссылку. Добавление использования успешно (но оно выделено серым цветом), подсветка синтаксиса отсутствующих классов работает (иногда), но добавление ссылки происходит беззвучно.
при ручном добавлении ссылки появляется ошибка, объясняющая, почему добавление ссылки не удается (круговая ссылка). Resharper не передал эту ошибку на GUI.
надеюсь, это поможет:)
Читайте также: