понадобилось тут одному дурню студенту пару простецких программок написать на C#, а я привык к Delphi и не понимаю в этой VS, что такое решение (solution) и чем оно отличается от проекта ...
оно может быть мне и не надо, но как сделать, чтобы UI ко второй проге не стряпать заново с этими дурацкими формочками, да кнопочками, а переделать ее из предыдущей, ибо похожи они.
в Delphi я бы сделал Save project as ..., а тут чота нипонятно мне, куда нажимать
поможите плиз без бросания какашками, если можно
Здравствуйте, system.console, Вы писали:
SC>понадобилось тут одному дурню студенту пару простецких программок написать на C#, а я привык к Delphi и не понимаю в этой VS, что такое решение (solution) и чем оно отличается от проекта ... SC>оно может быть мне и не надо, но как сделать, чтобы UI ко второй проге не стряпать заново с этими дурацкими формочками, да кнопочками, а переделать ее из предыдущей, ибо похожи они. SC>в Delphi я бы сделал Save project as ..., а тут чота нипонятно мне, куда нажимать SC>поможите плиз без бросания какашками, если можно
SC>понадобилось тут одному дурню студенту пару простецких программок написать на C#, а я привык к Delphi и не понимаю в этой VS, что такое решение (solution) и чем оно отличается от проекта ...
solution состоит из проектов (но и отдельные файлы тоже можно в solution добавлять вне проекта), влияет на порядок их сборки (зависимости) и пр.
Для простецких программок, можно их все в один solution положить и всё.
SC>оно может быть мне и не надо, но как сделать, чтобы UI ко второй проге не стряпать заново с этими дурацкими формочками, да кнопочками, а переделать ее из предыдущей, ибо похожи они.
Создать новый проект в этом же solution и скопировать туда все файлы из другого проекта: копировать можно в самой Студии или же на файловой системе (и потом добавить через Студию).
Насчет копирования самого csproj файла я не уверен, что это безопасно (из-за ProjectGuid).
Отмечу также, что в NET Core принадлежность файла к проекту определяется нахождением в каталоге проекта, тогда как в случае .net framework набор файлов прописан в csproj.
(это поведение можно поменять).
Здравствуйте, system.console, Вы писали:
SC>понадобилось тут одному дурню студенту пару простецких программок написать на C#, а я привык к Delphi и не понимаю в этой VS, что такое решение (solution) и чем оно отличается от проекта ...
solution — в других средах называют workspace; solution — это не проект, это куда добавляют проекты
Здравствуйте, m2user, Вы писали:
M>Создать новый проект в этом же solution и скопировать туда все файлы из другого проекта: копировать можно в самой Студии или же на файловой системе (и потом добавить через Студию). M>Насчет копирования самого csproj файла я не уверен, что это безопасно (из-за ProjectGuid).
Вполне безопасно. Правда, я на плюсах так делаю, но, думаю, разницы не будет. Я вообще свой шаблонный .vcxproj копирую, ручками туда нужные сорцы дописываю, и добавляю в солюшн. Студия видит, что такой гуид уже в солюшене есть, и сама назначает новый. Такое поведение ещё с 2005 студии точно
M>Создать новый проект в этом же solution и скопировать туда все файлы из другого проекта: копировать можно в самой Студии или же на файловой системе (и потом добавить через Студию).
Создал новое solution, в ней создал новый проект и все автоматом созданные в нем cs-файлы при помощи проводника заменил одноименными из предыдущей программы.
Ничего через Студию не добавлял.
Вроде получилось то, что мне требовалось.
Или я сделал неправильно ?
Здравствуйте, system.console, Вы писали:
SC>понадобилось тут одному дурню студенту пару простецких программок написать на C#, а я привык к Delphi и не понимаю в этой VS, что такое решение (solution) и чем оно отличается от проекта ... SC>оно может быть мне и не надо, но как сделать, чтобы UI ко второй проге не стряпать заново с этими дурацкими формочками, да кнопочками, а переделать ее из предыдущей, ибо похожи они. SC>в Delphi я бы сделал Save project as ..., а тут чота нипонятно мне, куда нажимать SC>поможите плиз без бросания какашками, если можно
Можно просто скопировать файлы и потом добавить и работать с копией.
А можно использовать ссылки на файлы:
SC>>понадобилось тут одному дурню студенту пару простецких программок написать на C#, а я привык к Delphi и не понимаю в этой VS, что такое решение (solution) и чем оно отличается от проекта ...
П>solution — в других средах называют workspace;
а какие среды еще есть кроме VS ?
Здравствуйте, system.console, Вы писали:
SC>А как надо-то правильно ?
Правой кнопкой по проекту и добавить существующие файлы или из эксполера перетащить мышью.
Здравствуйте, system.console, Вы писали:
SC>поможите плиз без бросания какашками, если можно
Попробую пояснить то, что уже сказали.
Солюшен это набор проектов (библиотек, приложений, каких нибудь служб и т.д.) под общей крышей. Например, один проект может быть библиотекой и компилироваться в dll, другой проект быть консольным приложением, который использует dll из первого проекта, а третий — приложением с UI, который также использует dll первого проекта. В результате ты получаешь общую dll и два приложения (консольное и UI) которые ее используют. Как-то так если по простому объяснять. Если ты что-то поменяешь в библиотеке, то при компиляции, например, консольного приложения, новая dll также скомпилируется и скопируется в выходную папку консольного приложения (ну или какой ты там путь пропишешь для выходных файлов).
Добавлять файлы в проект можно перетаскиванием сразу нескольких файлов из виндового проводника на название проекта (или папку внутри него) в Solution Explorer самой VS, или правой кнопкой на проект (папку внутри проекта) Add > Existing Item затем выбираешь сразу несколько файлов исходников и нажимаешь на кнопку Add.
Здравствуйте, system.console, Вы писали:
П>>solution — в других средах называют workspace; SC>а какие среды еще есть кроме VS ?
Ну, например, Visual Studio Code — бесплатный вариант Visual Studio.
Кстати, как человек, работающих в обеих средах, скажу, что сейчас Visual Studio сильно удобнее, чем Delphi (как минимум, до версии RAD Studio 11 Alexandria — 12-ю ещё не проверял):
1. В дебаг-моде можно просматривать всю внутреннюю структуру объектов.
2. LINQ — реальное удобсво работы с коллекциями разного рода.
3. IntelliCode — подсказки в коде более интеллектуальные, и могут даже предсказывать действия девелопера.
Здравствуйте, system.console, Вы писали:
SC>понадобилось тут одному дурню студенту пару простецких программок написать на C#, а я привык к Delphi и не понимаю в этой VS, что такое решение (solution) и чем оно отличается от проекта ... SC>оно может быть мне и не надо, но как сделать, чтобы UI ко второй проге не стряпать заново с этими дурацкими формочками, да кнопочками, а переделать ее из предыдущей, ибо похожи они. SC>в Delphi я бы сделал Save project as ..., а тут чота нипонятно мне, куда нажимать
SC>поможите плиз без бросания какашками, если можно
Конечно нельзя! Это форум программистов, или где?
Надо всё разнести по разным проектам — UI, BL-1, BL-2, а линковать динамически.
I'm a sewer mutant, and my favorite authors are Edgar Allan Poo, H.G. Smells and George R.R. Martin.
Здравствуйте, m2user, Вы писали:
SC>>Или я сделал неправильно ?
M>Это один из рабочих вариантов. M>Просто я мелкие тестовые программы предпочитаю положить в один solution, чтобы несколько экземпляров VS не запускать.
Кстати, по ПКМ можно из одной студии несколько исполняемых файлов дебажить одновременно, но есть нюансы.