ClickOnce и mageUI, добавление пользовательских проблем с папками файлов
Что я делаю: Публикация приложения.Net 3.5 через VS или msbuild (что угодно), и теперь мне нужно вставить в опубликованное приложение отдельный каталог (Модули - не добавлены в качестве ссылки на проект - наша архитектура проекта не позволяет этого), Поэтому я копирую папку в опубликованное место, затем запускаю mageUI.exe, выбираю манифест приложения и затем начинаются проблемы. Когда я нажимаю кнопку заполнения, он также добавляет скрытый каталог? Поэтому я удаляю каталог, после того как я хочу сохранить файл манифеста, я получаю сообщение "Предупреждение MSB3110: Сборка" NAME.Shell.application.deploy "не соответствует идентификатору" NAME.Shell.application ", ожидаемое имя файла:" NAME.Shell "..application.application".
У вас были те же проблемы, согласно http://smartclient.codeplex.com/Project/Download/FileDownload.aspx?DownloadId=5060 это должно быть просто как 1-2-3, но это не так.
2 ответа
По иронии судьбы я в настоящее время обновляю документацию SCSF для развертывания ClickOnce для.NET 4.0, и теперь я точно знаю, в чем проблема.
Во-первых, вы хотите опубликовать на диске, а не на веб-сервере. Сделайте это, а затем скопируйте DLL-файлы, которые вы хотите добавить в развертывание, в папку версии с манифестом приложения (.manifest). Переименуйте их сами - просто добавьте.deploy в конце.
Откройте MageUI и откройте манифест приложения в этой папке, затем снимите флажок "добавить.deploy к именам файлов". Нажмите "заполнить".
Затем удалите манифест развертывания из списка; это называется что-то вроде appname.application. Вы не хотите, чтобы он был включен в список файлов манифеста.
Теперь вы можете сохранить и подписать манифест приложения. Затем, не выходя из mageUI, откройте манифест развертывания, который находится в корневой папке (НЕ тот, который находится в папке версии). Нажмите "Ссылка на приложение", затем нажмите "Выбрать манифест". Найдите файл манифеста в папке с версией, которую вы только что подписали, и выберите его. Затем просто сохраните и подпишите манифест развертывания. Он помещает туда относительный путь, поэтому, если вы измените файл.application в папке версии, он не будет работать правильно при развертывании.
Теперь возьмите этот файл.application из корневой папки и скопируйте его в папку версии (заменив ту, что там есть), чтобы у вас была правильная копия для этой версии на тот случай, если она понадобится вам позже.
Теперь скопируйте весь шебанг на веб-сервер. он должен работать.
Я думаю, что вы говорите, что вам нужно добавить папку с материалом для вашего развертывания ClickOnce? Что именно вы добавляете? Вы говорите модули - они собираются компилироваться или это что-то еще?
Если вы хотите добавить файлы в уже созданное развертывание, вам нужно использовать MageUI для редактирования манифеста приложения, который называется что-то вроде appname.exe.manifest. (На самом деле appname.application называется манифестом развертывания, что сбивает с толку, но это правда.) После добавления файлов вам также потребуется подписать манифест развертывания (при условии, что вы подписали его в первую очередь).
Было бы проще просто добавить то, что вы хотите включить в свой проект, и переиздать. В зависимости от того, что это, вы можете установить действие сборки на "content" (jpegs, html и т. Д.) Или "none" (dll's), а затем установить для "copy to output directory" значение true, и оно будет включено в ваше развертывание.,
Я не уверен, что именно вы в том числе. Дайте мне больше информации, и я могу предоставить более конкретную помощь.
RobinDotNet