ClickOnce и mageUI при добавлении проблем с пользовательскими папками - PullRequest
1 голос
/ 25 марта 2010

Что я делаю: Публикация приложения .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 ]

4 голосов
/ 05 апреля 2010

По иронии судьбы я в настоящее время обновляю документацию SCSF для развертывания ClickOnce для .NET 4.0, и теперь я точно знаю, в чем проблема.

Сначала вы хотите опубликовать на диске, а не на веб-сервере. Сделайте это, а затем скопируйте DLL-файлы, которые вы хотите добавить в развертывание, в папку версии с манифестом приложения (.manifest). Переименуйте их сами - просто добавьте .deploy в конце.

Откройте MageUI и откройте манифест приложения в этой папке, затем снимите флажок «добавить .deploy к именам файлов». Нажмите «заполнить».

Затем удалите манифест развертывания из списка; это называется что-то вроде appname.application. Вы не хотите, чтобы он был включен в список файлов манифеста.

Теперь вы можете сохранить и подписать манифест приложения. Затем, не выходя из mageUI, откройте манифест развертывания, который находится в корневой папке ( NOT тот, который находится в папке версии). Нажмите «Ссылка на приложение», затем нажмите «Выбрать манифест». Найдите файл манифеста приложения в папке с версией, которую вы только что подписали, и выберите его. Затем просто сохраните и подпишите манифест развертывания. Он помещает туда относительный путь, поэтому, если вы измените файл .application в папке версии, он не будет работать правильно при развертывании.

Теперь возьмите этот файл .application из корневой папки и скопируйте его в папку версии (вместо той, которая там есть), чтобы у вас была правильная копия для этой версии на случай, если она понадобится вам позже.

Теперь скопируйте весь шебанг на веб-сервер. это должно работать.

0 голосов
/ 26 марта 2010

Я думаю, что вы говорите, что вам нужно добавить папку с материалами в ваше развертывание ClickOnce? Что именно вы добавляете? Вы говорите, модули - они собираются компилироваться или это что-то еще?

Если вы хотите добавить файлы в уже созданное развертывание, вам нужно использовать MageUI для редактирования манифеста приложения, который называется что-то вроде appname.exe.manifest. (На самом деле appname.application называется манифестом развертывания, что сбивает с толку, но имеет значение true.) После добавления файлов вам также понадобится повторно подписать манифест развертывания (при условии, что вы подписали его в первую очередь).

Было бы проще просто добавить то, что вы хотите включить в свой проект, и переиздать. В зависимости от того, что это, вы можете установить действие сборки на «content» (jpegs, html и т. Д.) Или «none» (dll's), а затем установить для «copy to output directory» значение true, и оно будет включено в ваше развертывание. ,

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

RobinDotNet

...