Как мне управлять ресурсами (особенно: HTML-файлами)?

#c# #html #visual-studio

#c# #HTML #visual-studio

Вопрос:

Здесь возникла небольшая проблема. Я создаю приложение в Visual Studio 2010 на C # (Windows Forms).

Пользовательский интерфейс будет выполнен в веб-браузере (чтобы я мог использовать jQuery goodness и для простоты разработки).

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

Мой коллега говорит мне создать папку отдельно, скопировать и вставить в каталог скомпилированного приложения, ссылаясь на файлы, используя: и т.д. System.AppDomain.CurrentDomain.BaseDirectory.ToString() "HTML\FirstPage.htm" ..

Мне это кажется странным. Его аргумент звучит — если вам нужно что-то отредактировать / изменить, вам не нужно открывать свою виртуальную машину (мы на Mac), открывать Visual Studio, редактировать, перекомпилировать, распространять и т. Д., Вы просто открываете HTML-файлы в каталоге приложения. (мой аргумент в пользу этого заключался в том, что это просто не так много дополнительной работы!)

Я вижу проблемы, возникающие, когда разные версии HTML-файлов начинают путаться и тому подобное, и мне кажется более «правильным» компилировать файлы непосредственно как ресурсы — ИЛИ … по крайней мере, иметь их в виде файлов в Project Explorer в Visual Studio.

Итак, мой вопрос: каков наилучший способ сделать это? Было бы лучше скомпилировать HTML-файлы в качестве ресурсов (и как мне это сделать? Я очень новичок во всем этом)? Или было бы лучше сделать это так, как сказал мой коллега? Если да, то есть ли способ заставить Visual Studio автоматически копировать последнюю версию файлов в каталог приложения во время сборки?

Большое спасибо.

Комментарии:

1. Используете ли вы систему управления версиями? CI? Какова ваша процедура развертывания?

2. SVN, не уверен, что означает CI, и я не уверен, что вы хотите знать о процедуре развертывания.. вероятно, мы создадим файл в формате .exe и отправим на USB или CD.

3. CI — Непрерывная интеграция (TeamCity и Jenkins — одни из самых популярных серверов CI).

Ответ №1:

Ресурсы не нужны, они гораздо менее управляемы.

Самым простым решением будет добавить папку со всеми файлами в проект, а затем в их свойствах установить:

Действие сборки =
Копирование содержимого в выходной каталог = Копирование, если новее

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

Комментарии:

1. Блестяще. Спасибо за ваш ответ.