Створення нового рішення і проекту,. NET Framework, ASP, статті

В цьому випадку створюється нове рішення, спочатку містить один проект, а потім рішення і проект додаються в VSS. Створення звичайних проектів та Web-проектів і рекомендована структура папок описуються в розділі 3 “Структурування рішень та проектів“. Далі передбачається, що ви створюєте рішення і проекти згідно з наведеними в цьому розділі рекомендацій.

Примітка Кожен файл проекту містить GUID (Globally Unique Identifier), унікально ідентифікує цей проект в рішенні. Тому для створення нового файлу проекту ніколи не копіюйте і не перейменовуйте існуючий файл проекту, інакше у них будуть однакові GUID, і Visual Studio. NET не відрізнить ці проекти один від одного. Якщо ви дозволите обидва таких проекту в одне і теж рішення, виникнуть проблеми.

Як зареєструвати нове рішення в VSS

Після створення в Visual Studio. NET файлів нового рішення і проекту та написання якогось обсягу початкового коду ви повинні зареєструвати рішення і проект в VSS. Додавання нового рішення в систему контролю вихідних файлів

  1. У меню File виберіть Source Control, клацніть Add Solution to Source Control. Якщо ви додаєте в VSS Web-додаток ASP.NET, відкриється наступне вікно Source Control.

  2. Встановіть прапорець Don”t show this dialog box again, Потім клацніть Continue, Щоб закрити це вікно.
  3. Можливо, відкриється діалогове вікно входу в VSS. Це станеться, тільки якщо адміністратор VSS не набудував VSS на автоматичний вхід мережевих користувачів. Введіть своє ім’я користувача VSS, потім клацніть кнопку Browse, Щоб знайти базу даних VSS на сервері VSS. Виберіть файл Srcsafe.ini, що ідентифікує вашу базу даних розробки в загальному каталозі сервера VSS.
    ПриміткаЯкщо заданий автоматичний вхід? мережевих користувачів, ви не побачите діалогове вікно входу в VSS. В цьому випадку, якщо вам потрібно вибрати іншу базу даних VSS, запустіть VSS Explorer і виберіть Open SourceSafe Database в меню File. Відкрийте відповідний файл Srcsafe.ini.
  4. Тепер ви можете вказати описову назву бази даних, відповідне імені системи, з якою ви працюєте в даний момент. Клацніть Open, Потім – OK, Щоб з’єднатися з базою даних.
  5. У діалоговому вікні Add to SourceSafe Project розкрийте вузол Projects і виберіть ім’я вашої системи.
  6. Клацніть кнопку Create. Це призведе до створення папки проекту VSS для файлу вашого рішення. У папки буде VSS таке ж ім’я, що і у вашого рішення Visual Studio. NET.
  7. Клацніть OK.
    Увага Додаючи в? VSS Web-додаток ASP.NET, ви отримаєте пропозицію додати в VSS кожен проект Visual Studio. NET. Наступні дві дії потрібні тільки для Web-додатків (для інших додатків вони не обов’язкові):

    1. Розкрийте вузол Projects, А потім вузол з ім’ям вашої системи та клацніть ім’я свого рішення. Клацніть OK.
    2. VSS запропонує створити папку VSS, де буде міститися проект. Клацніть Yes, Щоб створити папку. Ця операція повторюється для всіх Web-проектів, що входять в рішення.

Тепер ваші рішення, проект і вихідні файли поставлені в VSS на контроль. Зауважте, що у вікні Solution Explorer поряд з кожним з файлів, доданих в VSS, показується значок замка. Це означає, що зараз файли заблоковані VSS. Вашим локальним робочим файлів присвоєно атрибут “тільки для читання”, щоб ви не могли з ними працювати, не знявши з реєстрації в VSS.

Зняття з реєстрації при редагуванні

У Visual Studio. NET підтримується автоматичне зняття з реєстрації (обліку) при редагуванні. Якщо ви надалі приступите до редагування заблокованого файлу, то отримаєте пропозицію зняти файл з обліку. Якщо ви хочете продовжити редагування файлу, клацніть кнопку Check Out в діалоговому вікні Check Out For Edit – Файл буде автоматично знято з контролю. Після редагування можна відкрити Solution Explorer, клацнути файл правою кнопкою миші і вибрати
Check In, Щоб знову поставити файл на реєстрацію в VSS.

Початок роботи з існуючим рішенням

В цьому випадку будь-якої іншої член групи вже створив рішення і додав його в VSS, а вам потрібно перший раз отримати рішення, щоб працювати з одним з містяться в ньому проектів.

Щоб отримати з VSS існуюче рішення

  1. Запустіть Visual Studio. NET.
  2. У меню File виберіть Source Control, Потім клацніть Open From Source Control. Відкриється діалогове вікно входу в VSS.
  3. Введіть своє ім’я користувача VSS і клацніть кнопку Browse, щоб знайти базу даних VSS на сервері VSS. Виберіть файл Srcsafe.ini, що ідентифікує вашу робочу базу даних в загальному каталозі сервера VSS. Якщо ви вже підключалися до цієї бази даних і вибрали Open this database the next time I run Visual SourceSafe, база даних буде обрана автоматично.
  4. Клацніть OK, Щоб підключитися до бази даних. З’явиться діалогове вікно Create local project from SourceSafe.
  5. Розкрийте спочатку вузол Projects, Потім папку з ім’ям вашої системи і вкажіть потрібне рішення. В поле Create a new
    project in the folder
    введіть шлях виду
    ProjectsSystemNameSolutionName
    , Де SolutionName – Ім’я вашого рішення. Тоді структура ваших файлів буде коректною.
  6. Клацніть OK. Якщо локальна папка рішення не існує, ви отримаєте пропозицію створити її. Клацніть Yes to All, щоб створити папку рішення. Для додатків, не призначених для Web, при цьому створюються підпапки проектів.
  7. При роботі з Web-додатками ASP.NET відкриється діалогове вікно
    Set Project Location для завдання робочого каталогу Web-додатки. У цьому вікні вводиться URL, що вказує шлях до віртуального кореня Web-додатки. За замовчуванням Visual Studio. NET пропонує шлях http://localhost/<projectname>. Якщо ви клацнете OK, Щоб погодитися з шляхом за умовчанням, то на використовуваному за умовчанням Web-сайті (зазвичай це Inetpubwwwroot) створиться новий віртуальний корінь. При роботі в груповий середовищі задавати такий шлях не рекомендується. Краще використовувати для локального зберігання програми іншу папку. Щоб створити віртуальний корінь в папці проекту, виконайте такі дії, а потім клацніть OK, Щоб прийняти встановлені в діалоговому вікні Set Project Location параметри.

    1. У Microsoft Windows Explorer створіть підпапку проекту в створеної для вашого рішення папці
      ProjectsSystemNameSolutionName
      . Дайте новій папці ім’я проекту.
    2. У Windows Explorer або Microsoft Internet Information Services (IIS) зробіть цю папку віртуальним коренем IIS.
    3. Поверніться в Visual Studio. NET і введіть робочий шлях
      http://localhost/projectname/
      .
      Увага У поле введення потрібно змінити? існуючий URL, інакше буде передбачатися, що адреса буде вважатися, що адреса як і раніше сопоставлен з папкою в inetpubwwwroot.
    4. Клацніть OK, Щоб закрити діалогове вікно Set
      Project Location
      . При цьому файли проекту і Web-додатки будуть скопійовані в віртуальний корінь, співставлений з підпапку, яка розміщена на один рівень нижче папки вашого рішення.
  8. Рішення, проект і вихідні файли тепер знаходяться на вашому жорсткому диску. Але майте на увазі, що вони як і раніше заблоковані в VSS. Це підтверджується наявністю значка із замком поруч з кожним файлом в Solution Explorer.
  9. Тепер ви можете вибрати один або декілька файлів в Solution Explorer, клацнути їх правою кнопкою миші і вибрати Check
    Out
    . Або просто почати редагувати вихідні тексти, тоді Visual Studio автоматично запропонує зняти файл з обліку.
  10. По завершенні локальної розробки знову поставте всі файли на облік – індивідуально або у вікні Pending Checkins середовища IDE (Integrated Development Environment). Для виведення цього вікна, можливо, буде потрібно вибрати Pending Checkins в меню
    View.
    Примітка Якщо ви закриєте рішення, не поставивши файли на облік, то не отримаєте попередження. Файли залишаться знятими з реєстрації від вашого імені.

Подальша робота з існуючим рішенням

В цьому випадку вам потрібен доступ до існуючого рішенням, чиї вихідні файли поставлені на контроль, і ви вже працювали з ним мінімум один раз. Тому на вашому локальному комп’ютері є папки рішення і проекту, де зберігаються доступні тільки для читання файли рішення і проекту.

Щоб отримати з VSS існуюче рішення

  1. Запустіть Visual Studio. NET.
  2. Якщо потрібне рішення показується на початковій сторінці, клацніть його. В іншому випадку відкрийте на локальному комп’ютері файл рішення (. sln).
  3. Щоб набір файлів проекту гарантовано був останньою версією, виберіть рішення в Solution Explorer, клацніть його правою кнопкою миші і виберіть Get Latest Version (Recursive).

Увага При роботі з існуючим рішенням, раніше отриманим з VSS, слід відкрити локальний файл рішення. Не використовуйте в цьому випадку команду меню Open From Source Control. Якщо ви її виберете, Visual Studio. NET виявить, що є локальні файли рішення і проекту, і запропонує перезаписати ці файли. Крім того, якщо ви зняли з реєстрації один або декілька файлів, вам доведеться вибирати: замінити локальні файли версіями з VSS або не чіпати їх. Відкрити локальний файл рішення простіше і менш значною кількістю помилок.

Додавання проекту в існуюче рішення

В цьому випадку потрібно додати до існуючого рішення новий проект. У наступній процедурі передбачається, що рішення отримано з VSS наведеним вище способом.

Щоб додати новий проект в рішення і в VSS

  1. У меню File виберіть Add Project і клацніть
    New Project.
  2. Виберіть відповідні тип і шаблон проекту, введіть ім’я проекту.
  3. При створенні Web-проектів ASP.NET ви повинні вручну створити підпапку проекту в папці рішення і позначити її як віртуальний корінь IIS. У додатках, не призначених для Web, використовувана за замовчуванням папка нового проекту перебуває на один рівень нижче папки рішення.
  4. Клацніть OK. Visual Studio. NET автоматично запропонує зняти з обліку файл рішення (якщо ви ще не зробили цього), оскільки в цей файл потрібно додати інформацію про новий проект.
  5. Клацніть Check Out. Новий проект буде додано до рішення і з’явиться в Solution Explorer. Зауважте, що поряд з кожним файлом нового проекту виводиться галочка, що означає, що файли не заблоковані та доступні для редагування.
  6. Закінчивши початкове редагування файлів нового проекту, зареєструйте їх у VSS. Щоб знову додати в VSS все рішення (Разом з новим проектом), в Solution Explorer клацніть рішення правою кнопкою миші і виберіть Check In.
  7. У діалоговому вікні Check In показуються всі не зареєстровані на даний момент файли, в тому числі новий проект і його вихідні файли. Щоб зареєструвати всі файли, клацніть
    Check
    In.

Реєстрація вихідних файлів в VSS

Після реєстрації в VSS рішення і проекту потрібно ставити на облік тільки змінені файли. Для цього в Solution Explorer клацніть потрібний файл правою кнопкою миші і виберіть Check In. Є й інший варіант – переглянути список всіх файлів, які потрібно зареєструвати, на вкладці Pending Checkins внизу вікна IDE. За допомогою цієї вкладки легко зареєструвати відразу декілька файлів.

Реєструйте лише файли, готові до збірки

Як правило, в VSS слід реєструвати файли і проекти, тільки коли є впевненість, що вони повністю протестовані і не викличуть проблем при спільній збірці з файлами проекту, оновленими іншими членами групи.

Увага Це означає, що деякі файли можуть залишатися не зареєстрованими в VSS протягом декількох днів. Тому потрібно подбати про те, щоб на всіх комп’ютерах розробників щодня виконувалося резервне копіювання файлів.

Примітка Якщо ви працюєте з системою управління змінами, що підтримує концепцію рівнів просування (promotion levels), то, можливо, віддасте перевагу реєструвати файли через рівномірні проміжки часу незалежно від ступеня готовності цих файлів. У таких системах зазвичай є початковий рівень “Development”, призначений спеціально для цієї мети. Складальний процес ніколи не витягує вихідні файли цього рівня. Натомість він працює з вихідними файлами, які знаходяться на більш високому рівні просування, наприклад “Integration”. Розробники або координатор збірки просувають файли на цей рівень, тільки коли вважають, що вони готові до інтеграції з системою в цілому.

Перейменування або вилучення файлів і папок

Іноді вам може знадобитися перейменувати і / або видалити окремі файли або папки, що входять до складу проектів, вихідні файли яких контролюються VSS. Перейменування або видалення, що виконується в Visual Studio. NET IDE, не відображається в VSS автоматично (те ж саме вірно і в зворотному випадку). Тому вам доведеться працювати і з VSS Explorer, і з
Visual Studio .NET.

Перейменування файлу

Для перейменування файлу в проекті Visual Studio. NET виконуються наступні дії.

Щоб перейменувати існуючий файл в проекті Visual Studio. NET

  1. У VSS Explorer переконайтеся, що файл, який потрібно перейменувати, не знятий з реєстрації.
  2. У VSS Explorer перейменуйте файл.
  3. У Visual Studio. NET відкрийте рішення, що містить проект з перейменовує файли. У Solution Explorer файл, який ви перейменували в середовищі VSS, показується як знятий з реєстрації. Якщо ви до цього вже завантажили проект в Visual Studio. NET, виберіть в Solution Explorer файл проекту, клацніть його правою кнопкою миші і виберіть Get Latest Version (Recursive).
  4. Вкажіть файл в Solution Explorer, клацніть його правою кнопкою миші і виберіть Rename. Перейменуйте файл, щоб у нього стало таке ж ім’я, як і в VSS.
  5. Ви отримаєте пропозицію зняти файл проекту з обліку, оскільки він містить інформацію про перейменовує файли. У діалоговому вікні
    Check Out For Edit
    клацніть Check Out.
  6. У вікні Source Control клацніть Continue with Change.
  7. У Solution Explorer файл буде показуватися як заблокований. Зареєструйте файл проекту в VSS.

Перейменування проекту

При перейменування проекту слід перейменувати такі елементи, дотримуючись угоду про іменуванні, описане в розділі
Ретельно обміркуйте угоди про іменування глави 3 “Структурування рішень та проектів”:

Щоб перейменувати проект

  1. Переконайтеся, що наступні файли не зняті з обліку: файл проекту, файл рішення, до якого належить проект і всі файли, що входять до проект.
  2. Зніміть з обліку файл рішення. Виберіть рішення в Solution Explorer, клацніть його правою кнопкою миші і виберіть Check Out. Переконайтеся, що в діалоговому вікні Check Out обраний тільки файл рішення (без файлів проектів), і клацніть Check Out.
  3. Тепер ви повинні скасувати прив’язку проекту до бази даних VSS. В Visual Studio. NET виберіть у меню File команду Source
    Control і Change Source Control.
  4. Виберіть проект, який хочете перейменувати (можливо, при цьому буде автоматично вибрано і рішення), і клацніть кнопку
    Unbind
    . У вікні, Source Control клацніть
    Unbind.
  5. Клацніть OK, Щоб закрити діалогове вікно Change
    Source Control
    . Файл проекту (і, можливо, файл рішення) більше не пов’язаний з базою даних VSS.
  6. У Solution Explorer клацніть правою кнопкою миші проект, який ви хочете перейменувати, потім клацніть Rename. Введіть нове ім’я проекту.
  7. У меню File виберіть Save All, Щоб оновити локальний файл рішення.
  8. Тепер тимчасово видаліть проект з рішення, щоб можна було перейменувати локальну папку проекту. У Solution Explorer клацніть правою кнопкою миші перейменований проект і виберіть Remove. У вікні, Microsoft Development
    Environment
    клацніть OK.
  9. У Windows Explorer перейменуйте локальну папку проекту, щоб її ім’я відповідало новому імені проекту.
  10. Якщо ви перейменовуєте Web-додаток, в Windows Explorer або IIS задайте, що перейменована папка є віртуальним коренем IIS. Крім того, в Notepad відредагуйте файл. Webinfo, що знаходиться в папці проекту: атрибут URLPath повинен вказувати на нову папку віртуального кореня проекту.
  11. Поверніться в Visual Studio. NET. Клацніть правою кнопкою миші файл рішення в Solution Explorer, виберіть Add і клацніть
    Existing Project
    . Перейдіть в перейменовану локальну папку проекту, виберіть перейменований файл проекту і клацніть Open.
  12. У VSS Explorer перейменуйте папку проекту VSS, щоб її ім’я відповідало новому імені проекту.
  13. Тепер можна знову зв’язати проект з базою даних VSS. Поверніться в Visual Studio. NET, в меню File виберіть Source
    Control
    , Потім клацніть Change Source Control.
  14. Якщо файл рішення в даний час не пов’язаний з базою даних VSS, виберіть його в діалоговому вікні Change Source
    Control
    , Потім клацніть Bind. Можливо, в цей момент потрібно увійти в VSS. Перейдіть в VSS в папку рішення, виберіть рішення, потім клацніть OK.
  15. Виберіть у діалоговому вікні Change Source
    Control
    перейменований проект, потім клацніть Bind. При необхідності увійдіть в VSS.
  16. Перейдіть в VSS в папку перейменованого проекту, виберіть його, потім клацніть OK.
  17. Клацніть OK, Щоб закрити діалогове вікно Change
    Source Control
    . У вікні, Source Control клацніть OK.
  18. У вікні Pending Checkins зареєструйте в VSS рішення і перейменований проект.
  19. Тепер слід зняти з реєстрації відповідні вихідні файли і змінити кореневе простір імен, щоб його ім’я відповідало імені проекту.
  20. Крім того, зніміть з обліку файл проекту і обновіть властивості проекту, зокрема властивість Assembly Name, що задає ім’я вихідний DLL або виконуваного файлу. Крім того, у проекті на C # потрібно оновити Default Namespace, а в проекті на Microsoft Visual Basic® . NET – Root Namespace. Ці властивості задають використовується за умовчанням простір імен, в які додаються нові типи.

Видалення старих файлів проекту

Старий файл проекту, пов’язаний з ним файл метаданих в системі контролю вихідного коду (source control metadata file) і – в разі Web-додатки – файл динамічного розпізнавання Web-сервісу залишаються в папці перейменованого проекту VSS і в локальній папці цього проекту. Позбавтеся від цих файлів.

  1. У VSS Explorer видаліть старий файл проекту (*. Csproj.proj), старий файл Visual Studio Source Control Project Metadata (*. Csproj.vspcc) і – в разі Web-додатки – старий файл динамічного розпізнавання Web-сервісу (*. vsdisco) з папки перейменованого проекту. Можливо, вам буде потрібно оновити вміст у вікні VSS Explorer, щоб побачити нові файли проекту.
  2. У Windows Explorer видаліть старий файл Visual Studio Source Control Project Metadata (*. Csproj.vspcc) і – в разі Web-додатки – старий файл динамічного розпізнавання Web-сервісу (*. Vsdicso) з локальної папки перейменованого проекту. Зауважте, що ці локальні файли мають атрибут “тільки для читання”.
  3. У разі Web-додатки видаліть в IIS старий віртуальний корінь, який ви перейменували.

Видалення файлу з VSS

Передбачається, що ви відкрили рішення, отримане з VSS і містить хоча б один проект, і що файл, який ви хотіли б видалити, міститься в цьому проекті.

Щоб видалити файл

  1. Переконайтеся, що видаляється файл не знятий з реєстрації.
  2. У Solution Explorer клацніть правою кнопкою миші видаляється файл і виберіть Check Out.
  3. У діалоговому вікні підтвердження Check Out клацніть
    Check Out
    . Якщо файл вже знято з реєстрації кимось іншим, почекайте, поки він не стане доступний виключно вам.
  4. У Solution Explorer клацніть файл правою кнопкою миші і виберіть
    Delete.
  5. У вікні Microsoft Development Environment, де запитується, чи дійсно ви хочете видалити файл, клацніть
    OK.
  6. Вам буде запропоновано зняти проект з реєстрації, так як у файлі проекту міститься інформація про удаляемом файлі. У діалоговому вікні
    Check Out For Edit клацніть Check Out.
  7. Зареєструйте файл проекту в VSS.
  8. У VSS Explorer видаліть файл (який показується як знятий з реєстрації) з бази даних VSS. В усіх вікнах Microsoft
    Visual
    SourceSafe клацайте Yes, Щоб підтвердити видалення файлу.

Видалення проекту з VSS

Для видалення проекту з VSS потрібні наступні дії.

Щоб видалити проект з VSS

  1. У Solution Explorer клацніть правою кнопкою миші видаляється проект і виберіть Remove.
  2. У вікні підтвердження Microsoft Development
    Environment
    клацніть OK.
  3. Ви отримаєте пропозицію зняти файл рішення з реєстрації, так що в ньому міститься список проектів. У діалоговому вікні Check Out
    for Edit
    клацніть Check Out.
  4. Зареєструйте рішення в VSS.
  5. У VSS Explorer видаліть проект з бази даних VSS.
  6. Видаліть теку проекту з локального жорсткого диска і – в разі Web-додатки – видаліть в IIS відповідний віртуальний корінь.

Видалення рішення з VSS

Для видалення рішення з VSS необхідно виконати наступні дії.

Щоб видалити рішення (і містяться в ньому проекти) з VSS

  1. У VSS Explorer переконайтеся, що наступні файли не зняті з обліку: файл рішення і всі файли проектів або підпроектів.
  2. У VSS Explorer видаліть рішення з VSS.
  3. Видаліть рішення з локального диска.

Примітка Збираючись видалити рішення, повідомте про це іншим членам групи, щоб вони могли закрити його, якщо в даний момент воно додано в Visual Studio. NET на їх комп’ютерах. Якщо хтось завантажив рішення (не зняте з реєстрації), а ви видаляєте його, він отримає повідомлення VSS про помилку при наступній спробі зняти з обліку файли, містяться в даному рішенні.

Зняття файлу з контролю кількома розробниками одночасно

Зазвичай в будь-який момент тільки один користувач може зняти файл з реєстрації в VSS. Однак за допомогою утиліти VSS Administration можна налаштувати VSS так, щоб кілька користувачів могли одночасно знімати з реєстрації один і той же файл.

Це корисно в груповий середовищі, оскільки зменшує ймовірність конкуренції при зверненні до часто використовуваних файлів, наприклад до файлів проектів. Однак при використанні цієї можливості необхідно ретельно координувати діяльність членів групи, а при реєстрації файлів в VSS – стежити за коректністю об’єднання змін.

Щоб працювати з файлом у режимі зняття з обліку кількома користувачами

  1. У Solution Explorer зніміть потрібний файл з реєстрації. Visual Studio. NET попередить, що файл вже знято з контролю іншим користувачем. У вікні Microsoft Visual SourceSafe клацніть
    Yes
    .
  2. Внесіть зміни у власну копію файлу, потім скомпілюйте і протестуйте свій проект.
  3. Перед реєстрацією файлу об’єднайте свої зміни з змінами, внесеними іншими розробниками, і локально протестуйте проект з усіма змінами. Для цього в Solution Explorer клацніть файл правою кнопкою миші і виберіть Get Latest
    Version
    . У вікні Microsoft Visual SourceSafe клацніть
    Merge
    . VSS автоматично об’єднає версію з VSS з вашою локальної робочої копією, і ви зможете скомпілювати і протестувати об’єднаний файл.
  4. По завершенні тестування в Visual Studio. NET поставте файл на облік в VSS. Якщо файл об’єднувався з іншими файлами, VSS запропонує перевірити, чи всі конфлікти дозволені. Клацніть Yes, щоб знову зареєструвати файл в VSS.

Зняття з реєстрації файлів рішень

Файли рішень особливо важко знімати з реєстрації в цьому режимі, так як вони містять кілька проектів, об’єднувати які складно і значною кількістю помилок. Як правило, не слід знімати файл рішення з обліку, якщо це вже зробив інший розробник.

Намагайтеся знімати файли рішень з контролю (наприклад для додавання нових проектів) на дуже короткий час, щоб зменшити конкуренцію за доступ до файлу. Якщо конкуренція має місце, координують свої дії з іншими розробниками. Перед зняттям файлу з обліку дочекайтеся моменту, коли він стане доступний в монопольному режимі.

Це глава 6 керівництва з групової розробки в середовищі Visual
Studio® . NET і Visual SourceSafe. Главу 7 читайте за посиланням “Налаштування та підтримка середовища групової розробки"

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*