2016-09-20 3 views
2

После публикации с помощью ClickOnce в C# я полностью смутился о , как найти каталог папки: «Файлы приложений». Причина, по которой я хочу это сделать, - это поместить некоторые файлы в эту папку и позволить C# читать их после того, как пользователь установил мое приложение.Найти каталог «Файлы приложений» после публикации ClickOnce

Я пробовал: System.IO.Path.GetDirectoryName(Assembly.GetEntryAssembly().Location), , но я всегда получал: C:\Users\AppData\Local\Apps\2.0\4DAZ7HKJ.7TP\OZ02N2HD.7PG\cons..tion_a9321ce7eb14b63e_0001.0000_7ed45506b35ff771, которого я не хочу. Поскольку моя папка публикации находится в D:\, я хочу, чтобы: D:\Application Files.

Заранее благодарю всех, кто прочитал мой вопрос!

publish folder after clickOnce publish

ответ

3

Чтобы включить файл в ваш публиковать, вам не нужно, чтобы включить его в папку вручную, вместо этого вы должны добавить файл в проект и установите его Build Action в Content. Чтобы файл был включен в публикацию, перейдите на страницу Project → Properties → Publish Tab → Application Files Button и посмотрите, Publish Status вашего файла: Include (Auto).

После развертывания приложения эти файлы будут развернуты около исполняемого файла приложения. Например, если вы включите image.png, то вы можете найти его таким образом:

var path = System.IO.Path.Combine(Application.StartupPath, "image.png"); 

Кроме того, если по какой-либо причине вы ищете ваш публиковать папки вы можете увидеть путь, использованный для опубликовывать, в Project → Properties → Publish → Publish Location или в <PublishUrl> теге в файле проекта.

Независимо от местоположения, в котором вы опубликовали файлы, их копия находится в папке \bin\debug вашего проекта под папкой app.publish.

+0

Благодарим за редактирование. Я знаю, что могу добавить в публикацию некоторые дополнительные файлы. Но я не хочу их искать вручную. Как найти их по кодированию - это то, что я хочу. Как, 'Console.WriteLine (путь дополнительных файлов);' У вас есть идеи? –

+1

Файлы будут развернуты около файла exe приложения. Например, если вы включили 'image.png', вы можете найти его следующим образом:' var path = System.IO.Path.Combine (Application.StartupPath, "image.png"); ' –

+0

Я попробовал System.IO. Path.Combine (Application.StartupPath, "image.png"); но он показывает ошибку: «Имя« Приложение »не существует в текущем контексте». Что мне делать? –