Как переименовать весь проект в VC++ 2005

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

sillyname.h
sillyname.cpp
sillyname.dsp 

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

main.obj : error LNK2001: unresolved external symbol __imp__InitCommonControls@0
Debug/New_Name_Thats_not_so_silly.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.

Должен быть более простой способ все это изменить, верно?

Хорошо. На самом деле компилируется нормально, только версия отладки не ... Странно.

Jack 27.09.2008 01:00

Этот комментарий является ответом на вопрос "где находится обозреватель решений?" Вот несколько изображений, где это находится: images.google.com/…

pestophagous 27.09.2008 01:08

Если только отладочная версия плохая, то пробовали ЧИСТУ, потом пересборку? еще одна идея. извиняюсь, если вы уже пробовали это. :)

pestophagous 27.09.2008 01:09
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
3
1 575
5

Ответы 5

Вы можете просто переименовать файл .vcproj или .dsp, а затем либо создать новую рабочую область (sln dsw) и включить переименованный проект, либо просто изменить имя внутри файла sln (это просто xml). Я не могу вспомнить формат файла. старое рабочее пространство, но все еще текст.

Вы можете вручную переименовать и повторно включить все .cpp или отредактировать файл проекта и переименовать их там.

извините, я не знаю инструмента рефакторинга, который сделает все это, но, вероятно, он есть.

Вот Шаг за шагом в блоге Стива Эндрюса (он работает над Visual Studio в Microsoft)

"Когда вы переименовываете проект, скорее всего, вы захотите переименовать выходную сборку и / или корневое пространство имен для проекта. Для этого щелкните правой кнопкой мыши узел проекта и выберите" Свойства ". Вы также можете дважды щелкнуть значок Узел «Свойства» (C#) или «Мой проект» (VB) ». Где находится обозреватель решений?

Jack 27.09.2008 00:53

Этот комментарий является ответом на вопрос "где находится обозреватель решений?" возможно, поиск картинок в Google покажет какой-нибудь полезный снимок экрана, который легко узнать: images.google.com/…

pestophagous 27.09.2008 01:06

Если его еще нет на экране (выглядит как ссылка на que), попробуйте пункт меню «Вид | Обозреватель решений» ИЛИ введите Ctrl + Alt + L

Ray Hayes 27.09.2008 01:26

Я не проверял это, но делал это несколько раз, и если мне не изменяет память, вы действительно можете использовать функцию поиска и замены в VS2005, чтобы переименовать все экземпляры строки «X» в « Y "в любом типе файла. Затем вам нужно закрыть решение и изменить имя (а) файла проекта (и любого другого файла с тем же именем независимо от расширения).

Очевидно, после этого вам нужно будет выполнить полную перестройку.

Собственно именно этим я и занимался изначально. Хуже всего то, что я только что нашел инструмент, который делает это, но при компиляции все еще получаю ту же ошибку .. grr

Jack 27.09.2008 00:56

Я предполагаю, что в дополнение к переименованному набору файлов вы также сохраняете полный «параллельный» набор исходных файлов в каком-то другом каталоге, я прав?

Предполагая, что у вас есть обе версии, я бы сделал следующее:

Получите инструмент сравнения файлов, например Вне всякого сравнения или DiffMerge, и сравните старый файл SLN и новый файл SLN бок о бок. Также сделайте это для каждого файла «proj» и любых других файлов типа «config».

Эти файлы можно редактировать вручную. Обычно анализ различий между двумя копиями помогает понять, что вам следует делать, чтобы вторая работала.

В любом случае вы можете начать возиться с переименованным проектом вручную, учитывая, что он уже не работает. Вы не можете сделать это намного хуже. И: вы можете узнать несколько полезных трюков о структуре XML этих файлов.

Даже если вы делаете небольшие ошибки при настройке этих файлов вручную, я неоднократно был очень впечатлен тем, как Visual Studio справляется с этим. Visual Studio обычно сообщает вам, где именно вы ошиблись.

Мне тоже всегда неприятно делать это вручную.

Итак, я попробовал некоторые инструменты, доступные через googling - два не работали (VS C++ здесь), не знаю, если они более полезны для C#.

Мне понравился следующий инструмент: я использовал пробную версию, но заплачу за нее 39, - баксов. Для меня это того стоит. Он также имеет надстройку VS. VS 2013 не поддерживался напрямую, по крайней мере, не упоминался, но когда я посмотрел: http://www.kinook.com/CopyWiz

Переименование на месте не работало (ошибка доступа), но «переименование во время копирования» работало нормально.

Но мне действительно интересно, так ли это сложно, как утверждают некоторые программисты. Для большинства частей переименование файлов и поиск и замена всех вхождений во всех текстовых файлах в каталоге проекта должны быть довольно простым и рабочим подходом. Может быть, кто-то сможет продолжить то, что будет так сложно.

Рациональная часть моего мозга запрещает сновидящей части программировать собственный инструмент - мне повезло! :-)

Другие вопросы по теме