Как пометить файл как файл данных в приложении Visual Studio 2010 vsto clickonce? - PullRequest
1 голос
/ 01 июля 2010

Я делаю надстройку Word 2007 с C # 4.0 в Visual Studio 2010. Мне нужно, чтобы база данных Access 2007 (файл .accdb) была помещена в каталог данных установщиком clickonce.К сожалению, файл помещается в другое место, поэтому приложение не может найти его во время выполнения.Я видел различные статьи, ссылающиеся на использование диалогового окна «Файлы приложения» на вкладке «Публикация» свойств проекта, чтобы пометить файл как файл данных, но у меня почему-то нет кнопки «Файлы приложения».открыть диалоговое окно «Файлы приложения» или каким-либо другим способом вручную пометить мой файл .accdb как файл данных?

Ответы [ 3 ]

1 голос
/ 02 июля 2010

В обозревателе решений, если для свойства файла установлено значение Копировать в выходной каталог = Копировать всегда.Затем, когда вы переходите к файлам приложений, они должны по умолчанию использоваться в качестве файла данных.

Однако, поскольку это ваша база данных, я бы подумал над тем, чтобы сделать ее безопасной при обновлении, чтобы вы могли рассмотреть эту запись .

См. http://msdn.microsoft.com/en-us/library/dd465298.aspx

Кстати, кнопка «Файлы приложений» должна находиться на вкладке «Свойства» проекта.

0 голосов
/ 02 июля 2010

Мне удалось заставить вещи работать, используя инструмент Мага, как описано здесь:

http://msdn.microsoft.com/en-us/library/6fehc36e.aspx

Хитрость с MageUI заключается в том, что его диалог открытия файла предполагает, что вы хотите открыть манифест, связанный с .exe; В проекте vsto есть .dll, поэтому манифест не появляется в списке файлов по умолчанию, что меня действительно подвело.

По сути, этот процесс является болезненным, потому что вы должны помнить, чтобы сделать это вручную. Я не знаю, есть ли способ сделать эту часть сборки (может быть, шаг после сборки? Но это действительно шаг после публикации).

0 голосов
/ 02 июля 2010

Приложения VSTO не имеют доступной кнопки «Файлы приложения», и вы не можете установить типы файлов специально. Если ваш файл не развертывается в каталоге данных, и вы хотите, чтобы он был, переименуйте его с расширением файла, помеченным ClickOnce как данные. Это включает в себя .xml, .mdb и .mdf. В противном случае файл будет развернут с приложением VSTO и будет находиться в том же месте, что и остальные файлы.

Расположение файлов развертывания для приложения VSTO можно найти программным способом следующим образом:

System.Reflection.Assembly.GetExecutingAssembly.CodeBase

Возможно, вы захотите переместить базу данных, потому что, если вы не развернете ее как данные, она будет потеряна при выполнении обновления. Или вы можете проверить эту статью о , где разместить ваши данные, чтобы защитить их от обновлений ClickOnce .

...