Почему в Visual Studio работает старый проект
Обновлено: 21.11.2024
Если у вас есть исходный код программы или библиотеки, которые создаются с помощью lf95, вы можете легко использовать этот код в интегрированной среде разработки Microsoft Visual Studio и воспользоваться всеми функциями быстрой разработки Visual Studio с интеграцией LF Fortran. . Вы сможете редактировать исходный код, задавать параметры компилятора и компоновщика, создавать и отлаживать свою программу в Visual Studio.
Существующий код может быть одним или несколькими файлами. Он может быть создан с помощью make-файла, пакетного файла или Automake. Возможно, потребуется связать его с внешними библиотеками, объектным кодом или внешними модулями. Источник может быть в фиксированном или свободном формате или в комбинации. Перенос кода в Visual Studio возможен для всех этих сценариев.
Visual Studio использует базовую структуру для организации кода, которая называется "Решение". Решение — это контейнер верхнего уровня, который будет включать один или несколько «Проектов». Проекты соответствуют основным типам вывода lf95, таким как библиотека или приложение. Проекты содержат всю информацию, необходимую для компиляции исходного кода в приложение или библиотеку. Когда исходный код добавляется в проект, каждый исходный файл отображается как элемент проекта.
Проект позволяет установить параметры компилятора и компоновщика для всех исходных файлов проекта как для группы или для каждого файла исходного кода по отдельности. Внешние ссылки на модули или библиотеки, необходимые для компиляции и/или компоновки, также могут быть добавлены в проект. Включаемые файлы автоматически обнаруживаются и добавляются в качестве подэлементов к элементу проекта исходного кода, в котором они упоминаются.
Дополнительную информацию о функциях интеграции Visual Studio Fortran см. в разделе Разработка с помощью Visual Studio.
Подготовка
- Определите, какие выходные данные создает ваша текущая сборка (т. е. консольное приложение, приложение Windows, библиотека, модуль (модули) Fortran или DLL). Это будет проект, который вы создадите первым.
- Решите, хотите ли вы добавить другие проекты, чтобы лучше организовать свое решение. Например, вы можете поместить все свои глобальные процедуры в отдельный проект, а все свои модули — в другой проект.
- Определите, какие внешние ссылки (компоненты, для которых у вас нет исходного кода) необходимо добавить (например, библиотеки, модули, объекты).
Создание проекта LF Fortran и решения VS
Примечание. Команды меню VS будут использоваться в следующих инструкциях для выполнения задач, но ко многим из этих команд также можно получить доступ с помощью кнопок на панели инструментов или щелчком правой кнопкой мыши (контекстное меню). Команды меню VS будут выделены курсивом и в форме: «имя-меню-верхнего уровня > имя-подменю .». Выбор окон для отображения в VS можно контролировать, выбрав в меню Вид или выбрав из Вид > Другие окна.
- Запустите Visual Studio.
- Выберите Файл > Создать > Проект.
- Выберите LF Fortran в установленных шаблонах (левая панель).
- Выберите Пустой проект на центральной панели.
Изменить настройки проекта
- Если вы не видите окно обозревателя решений, выберите Вид > Обозреватель решений.
Добавить существующие файлы исходного кода
- Выберите Проект > Добавить существующий элемент.
- Перейдите к папке существующего источника и выберите файл(ы) исходного кода только с расширениями ".f90", ".for", ".f" или ".f95".
СОВЕТ: Удерживайте нажатой клавишу SHIFT, чтобы выбрать несколько, и удерживайте нажатой клавишу CTRL, чтобы выбрать несколько.
СОВЕТ. Вы также можете выбирать папки, но убедитесь, что они содержат только файлы исходного кода (включая подпапки).
Установить внешние ссылки
- Для каждого проекта, в котором есть внешние ссылки или для которого требуются выходные данные другого проекта, выполните следующие действия.
- Нажмите на нужный элемент проекта в обозревателе решений, чтобы выбрать его.
- Выберите Проект > Добавить ссылку.
Создайте решение VS
- Выберите Построить > Построить решение (или Построить решение, чтобы перестроить все). Окно вывода будет содержать сведения о сборке. Если есть ошибки сборки, они будут перечислены в окнах списка ошибок и вывода.
СОВЕТ. Дважды щелкните ошибку в списке ошибок, чтобы перейти к ошибке в исходном коде, если это применимо.
ПРИМЕЧАНИЕ. Visual Studio установит порядок сборки на основе ссылок на ваш проект. Если зависимости проекта необходимо скорректировать:
-
Выберите Проект > Зависимости проекта.
Запустить приложение
- Перед запуском убедитесь, что проект, который является основным приложением, является запускаемым проектом. Имя запускаемого проекта будет выделено жирным шрифтом в обозревателе решений. Если все верно, перейдите к шагу 5.
- Чтобы задать стартовый проект, выберите Проект > Выбрать стартовые проекты.
- Выберите имя запускаемого проекта в раскрывающемся списке «Единый запускаемый проект».
- Нажмите "ОК".
- Выберите Отладка > Начать без отладки.
- Проверьте свою систему на наличие консоли или окна приложения, которое будет работать отдельно от Visual Studio.
Отладка приложения
- См. раздел "Запуск приложения" выше для получения подробной информации о Startup Project.
- При необходимости установите точку останова в исходном коде, нажав на левой боковой панели рядом с оператором. На боковой панели появится красный маркер.
СОВЕТ. См. окно "Точки останова" для управления точками останова. Щелчок правой кнопкой мыши по маркеру боковой панели разрешает большинство операций с точками останова. - Выберите Отладка > Начать отладку, чтобы перейти к точке останова, или Отладка > Шаг внутрь, чтобы прерваться на первой строке.
СОВЕТ. Желтая стрелка на левой боковой панели показывает ваше текущее положение остановки в работающей программе. - Используйте меню Отладка, чтобы выбрать Продолжить, Шагнуть назад/Вперед/Выйти или Остановить.
- Выберите отображение окон в Visual Studio для отладки, выбрав Отладка > Windows.
СОВЕТ. Используйте окно Locals для просмотра переменных в текущей области (при остановке).
СОВЕТ: Наведите указатель мыши на переменную в текущей области, чтобы увидеть ее значение (при остановке).
СОВЕТ. Используйте окно стека вызовов для просмотра текущего стека вызовов и дважды щелкните запись, чтобы перейти к местоположению исходного кода (при остановке). - Проверьте свою систему на наличие консоли или окна приложения, которое будет работать отдельно от Visual Studio.
Дополнительную информацию об отладке в Visual Studio см. в разделе Отладка проектов.
У меня есть простая программа Silverlight, которая отображает набор изображений. Я изменил его, чтобы отображать больше изображений, но когда я нажимаю «запустить без отладки», он продолжает запускать старую сборку с меньшим количеством изображений. Когда я копирую код в новый проект и запускаю его, он работает нормально в первый раз, но затем каждое последующее изменение не отображается. В чем может быть проблема? Я использую Visual Web Developer 2008 Express.
Все ли работает правильно, если собрать проект вручную? В меню «Сборка» нажмите «Перестроить решение». Затем попробуйте запустить свой проект. Какую версию вы видите?
@Cody: Это все еще старая версия. Но когда я создаю его и запускаю созданный TestPage.html, это новая версия.
Значит, сборка работает правильно, потому что вы можете запускать собранные файлы вручную? Проблема только в том, что Visual Studio запускает старую версию даже после перестроения?
18 ответов 18
Всегда проверяйте параметр «Диспетчер конфигурации» в меню «Сборка» в Microsoft Visual Web Developer. Флажок "сборка" должен быть установлен, иначе сборка не будет выполняться.
Это случилось со мной, надеюсь, это поможет другим.
Это случилось со мной только что в VS 2013 для Интернета. Пришлось изменить URL-адрес проекта в:
"Свойства проекта"
Вкладка "Интернет"
"Серверы"
На другой номер локального хоста и заново создайте виртуальный каталог.
До того, как URL моего проекта был:
Я изменил его на:
Затем нажмите "Создать виртуальный каталог".
Во-первых, хотелось бы знать, почему это произошло.
Это. Спасибо. Потратил часы, пытаясь отследить, что происходит, и это единственное, что решило эту проблему для меня. Я также не знаю, почему это произошло, но хотел бы знать.
Я изменил папку с исходным кодом, и у меня возникла эта проблема. Когда я сделал это изменение, оно было сброшено, и оно сработало. Спасибо, Эдисон
Я обнаружил, что мне нужно закрыть все открытые экземпляры Visual Studio, прежде чем он снова заработает
Возможно, проблема с кэшированием (веб-браузер/прокси-сервер).
Чтобы обмануть браузер, попробуйте внедрить файл xap с дополнительным параметром, который меняется каждый раз, когда вы открываете плагин:
Если это не помогло, попробуйте почистить проект (удалить папки obj/bin и файл xap).
Это происходит из-за того, что ваша кэш-память заполнена. просто зайдите в папку bin и obj и удалите все временные файлы. Теперь он будет работать правильно.
У меня тоже была эта проблема, и хотя некоторые из вышеперечисленных исправлений помогли временно, мне помогло удаление истории и кэширования в параметрах обозревателя.
Перейдите в «Интернет-опции» (также доступно в VS через «Инструменты» > «Параметры» > «Среда» > «Веб-браузер» > «Параметры Internet Explorer»).
На вкладке "Общие" нажмите "Настройки" в разделе "История просмотров".
- На странице "Временные файлы Интернета" выберите "Каждый раз при запуске Internet Explorer".
- На вкладке "История" установите для параметра "Дни хранения истории" значение 0.
- На вкладке "Кэши и базы данных" убедитесь, что флажок "Разрешить кэширование и базы данных веб-сайтов" НЕ установлен.
Я не уверен, что все вышеперечисленное требуется, но я внес ряд изменений в файлы, и до сих пор они сразу отражались в динамических версиях без каких-либо заметных проблем с производительностью.
С тех пор я также понял, что если я устанавливаю "Каждый раз, когда я посещаю веб-страницу" вместо "Каждый раз, когда я запускаю Internet Explorer", мне не нужно останавливать и перезапускать проект, чтобы увидеть изменения. Так и должно быть!
Visual Studio продолжает использовать старую сборку (10)
- Остановить все действия VS.
- Удалить все /bin, а не только /bin/Debug. Все /bin
- Удалить файл .suo параметров пользователя в каталоге решения. Он будет создан на себя.
- Удалить все точки восстановления Windows
- Остановите IIS. 6 Запустите IIS через 1 минуту.
- Перестроить решение, построить проекты
Это происходит и со мной. Очень противно. Вы можете перезагрузить компьютер. Проверьте глобальную ассемблерную dll.
У меня есть простая программа Silverlight, которая отображает набор изображений. Я изменил его, чтобы отображать больше изображений, но когда я нажимаю «запустить без отладки», он продолжает запускать старую сборку с меньшим количеством изображений. Когда я копирую код в новый проект и запускаю его, он работает нормально в первый раз, но затем каждое последующее изменение не отображается. В чем может быть проблема? Я использую Visual Web Developer 2008 Express.
Всегда проверяйте параметр «Диспетчер конфигурации» в меню «Сборка» в Microsoft Visual Web Developer. Флажок "сборка" должен быть установлен, иначе сборка не будет выполняться.
Это случилось со мной, надеюсь, это поможет другим.
У меня тоже так было. Ну, я не знаю точную причину такого поведения. Но когда я закрываю Visual C Express 10, а затем снова открываю и строю, он создает новый сохраненный файл. Я предполагаю, что он все еще зависает на старом файле, когда возникает ошибка в каком-то режиме отладки или что-то в этом роде.
У меня тоже была эта проблема, и хотя некоторые из вышеперечисленных исправлений помогли временно, мне помогло удаление истории и кэширования в параметрах обозревателя.
Перейдите в «Интернет-опции» (также доступно в VS через «Инструменты» > «Параметры» > «Среда» > «Веб-браузер» > «Параметры Internet Explorer»).
На вкладке "Общие" нажмите "Настройки" в разделе "История просмотров".
- На странице "Временные файлы Интернета" выберите "Каждый раз при запуске Internet Explorer".
- На вкладке "История" установите для параметра "Дни хранения истории" значение 0.
- На вкладке "Кэши и базы данных" убедитесь, что флажок "Разрешить кэширование и базы данных веб-сайтов" НЕ установлен.
Я не уверен, что все вышеперечисленное требуется, но я внес ряд изменений в файлы, и до сих пор они сразу отражались в динамических версиях без каких-либо заметных проблем с производительностью.
С тех пор я также понял, что если я устанавливаю "Каждый раз, когда я посещаю веб-страницу" вместо "Каждый раз, когда я запускаю Internet Explorer", мне не нужно останавливать и перезапускать проект, чтобы увидеть изменения. Так и должно быть!
У меня была эта проблема на веб-сайте.
Сайт ссылается на один из проектов в решении, и его изменения не будут отражаться в отладке.
Проблема заключалась в том, что третий проект ссылался на устаревшую dll того же проекта, на который ссылаются.
Я удалил проект и все ссылки в других проектах, перечитал все и сделал новые ссылки, и все заработало нормально.
Я страдаю от этого. Все это раньше было (для меня) проблемой содержимого папки.
Может быть, вы можете проверить это:
- Удалите %windir%\microsoft.net\framework\v4.0xxx\Temporary .
- IIS Express: даже если вы измените выходной файл для скомпилированных результатов, вы увидите в applicationhost.config, что много раз IISExpress действительно «ищет» папку bin по умолчанию вашего проекта.
- Возможно даже, что у вас разные настройки для Debug или Release, поэтому, может быть, IIS ищет BIN с кодом Release, а вы сейчас компилируете в Debug в другую папку, вы меня понимаете?
На самом деле я пошел дальше и назло удалил всю папку C:\Users\\AppData\Local\Temp :)
Просто удалите папку "Release" в проекте со старой сборкой кода.
Возможно, проблема с кэшированием (веб-браузер/прокси-сервер).
Чтобы обмануть браузер, попробуйте внедрить файл xap с дополнительным параметром, который меняется каждый раз, когда вы открываете плагин:
Если это не помогло, попробуйте почистить проект (удалить папки obj/bin и файл xap).
До запуска я какое-то время использовал предварительную версию Visual Studio.
Излишне говорить, что я был в восторге от того, что скачал его и использовал с пользой.
Загрузив и запустив установщик, я сразу же открыл коробку и посмотрел, что VS 2022 приготовил для современных разработчиков.
Установка
По сравнению со старыми временами, когда установка производилась с помощью компакт-дисков, Visual Studio 2022 устанавливается относительно быстро.
В то время я ни о чем не думал, но продолжал переходить к следующему и самому важному фактору: производительности.
Производительность
Помимо безопасности, я считаю, что производительность всегда является фактором номер один, на который разработчики должны обращать внимание при написании кода.
Команда Visual Studio определенно сосредоточила свои усилия на производительности, потому что Visual Studio 2022 появилась довольно быстро, когда я дважды щелкнул мышью.
После получения заставки прошло ~10 секунд, прежде чем она исчезла и отобразилась недвижимость, содержащая стандартные панели IDE.
После полной загрузки среды IDE мне пришлось заняться чем-то другим, и я закрыл ее.
Проблема 1: Загрузка проектов
Прежде чем я перейду к следующему разделу, я хочу сказать, что не выспался прошлой ночью и плохо соображал.
У меня было решение, содержащее 16 проектов. Когда я попытался загрузить решение в VS 2022, оно загрузилось нормально, но выдало несколько ошибок, связанных с проблемой пути.
В этот момент я немного испугался и хотел посмотреть, все ли в порядке. Поэтому я вернулся в VS 2019, чтобы перезагрузить свой проект.
Мои проекты вообще не загружались, кроме одного: проекта базы данных. Все остальные 15 проектов не удалось загрузить.
Все еще не работает.
Подумав об этом, меня осенило.
Решение 1. Высыпайтесь!
Хорошо, мы уже знали это решение, но я придумал, как решить проблему, когда мое решение не загружалось.
Помните, что программа установки удалила предварительную версию 6.0-preview-x.
Проблема 2: Обновление старых проектов — откуда вы взялись?
Этот код кажется "старым" по сравнению с тем, что я обнаружил в новых проектах веб-приложений.
Но это застало меня врасплох.
Решение 1. Я открыл VS 2022 и щелкнул "Новое веб-приложение ASP.NET Core", чтобы увидеть, что отличается от моего существующего проекта, изучив новый файл Program.cs.
Это файл Program.cs. Это наш новый «стартап» для веб-приложений.
Выглядит немного скудно, верно? Нет метода ConfigureServices() или Configure(). И не было даже Startup.cs .
В основном они взяли Startup.cs и переместили все в Program.cs без пробелов верхнего уровня или пространств имен файловой области.
Заключение
Как видите, меня ждало несколько сюрпризов (наряду с потрясающей функцией "горячей перезагрузки") и знакомой IDE.
По мере обновления некоторых моих проектов я буду публиковать их прогресс вместе с некоторыми советами и рекомендациями.
Нашли замечательную функцию в VS 2022? Что-то пошло не так? Пишите свои комментарии ниже и давайте обсудим.
Вам понравился этот контент? Выразите свою поддержку, купив мне кофе.
Джонатан Данилко — веб-архитектор и предприниматель, который занимается программированием более 25 лет. Он разрабатывает веб-сайты для малых и средних компаний, а также компаний из списка Fortune 500 с 1996 года.
В настоящее время он работает в Insight Enterprises в качестве главного инженера-программиста.
Когда его спросили, чем он любит заниматься в свободное время, он ответил: "Мне нравится писать и мне нравится программировать. Я также люблю писать о коде".
Читайте также: