Добавление файла лицензии для сборки в проекте ASP.Net - PullRequest
0 голосов
/ 16 августа 2011

У меня есть файл лицензии xml, который необходимо развернуть в том же каталоге, что и сборка, в которой он указан.

Я предположил, что папка BIN была в правильном месте.Однако происходит то, что ASP.Net копирует сборку в папку, похожую на C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Temporary ASP.NET Files \ swsscriptstest \ ef2666d0 \ 23e85c28 \ Assembly \ dl3 \ 9353205e\ 6605f3df_cd85cb01.Как только IIS очищается после себя, эти файлы удаляются.

Поскольку это XML, а не файл сборки, я не смог использовать его в конфигурации.

Я также безуспешно пытался добавить файл как "встроенный ресурс".

Может кто-нибудь дать совет?

Спасибо!

Ответы [ 3 ]

2 голосов
/ 16 августа 2011

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

0 голосов
/ 16 августа 2011

Вы издатель?

Если это так, то похоже, что вы все неправильно пишете.

Если это информация о конфигурации, она входит в файл конфигурации, так что любой разработчик приложения может справиться с ней на нормальном уровне.

Если это не так, поместите его в папку app_data. Это специальная папка, предназначенная для этой цели.

Дело в том, что вы не можете знать, откуда выполняется сборка. Это может быть gac'd, в папке bin или оптимизированный в какой-то другой каталог.


Другой вариант:

Если у вашей сборки есть установщик, запустите его на веб-сервере. Это, скорее всего, скопирует сборку в GAC вместе с соответствующим файлом лицензии.

Если у него нет установщика, попробуйте поместить сборку в GAC. Затем выясните, где на самом деле он хранится в Windows, и скопируйте туда файл лицензии.

0 голосов
/ 16 августа 2011

Что вы делаете с XML-файлом?Если вы читаете / пишете в своем приложении, лучшее место для этого - ~ / App_Data.Вы можете получить полный путь во время выполнения, используя Server.MapPath("~/App_Data/nameOfYourXmlFile.xml").

http://msdn.microsoft.com/en-us/library/system.web.httpserverutility.mappath.aspx

...