Как включить лицензию (.lic) файлы в моей папке bin, гарантируя, что они покрыты системой управления версиями?

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

потому что я опустил мой bin папка из системы управления версиями, ссылки и файлы лицензий, помещенные в bin не контролируемым источником. Согласно ответ, я переместил мои предварительно скомпилированные ссылки в другое место, которое охвачено системой управления версиями и ссылается на них в моем проекте по относительному пути. Когда я строю, эти библиотеки DLL правильно включены в мой .

насколько я знаю, я не могу использовать тот же метод для моих файлов лицензий. Они должны храниться в моем проекте Visual Studio. В Visual Studio как я могу хранить файлы лицензий в месте, охватываемом системой управления версиями, и публиковать их в my во время сборки?

2 ответов


способ, которым я это сделал, состоял в том, чтобы разместить мои файлы лицензий в корне проекта (Я полагаю, вы можете разместить их в любом месте проекта). Затем я устанавливаю их свойства (ctrl-click each .lic файл и нажмите клавишу Alt+Enter, или нажмите свойства tab):

Properties

задание Copy to output directory для "копировать всегда" приводит к перемещению файлов в bin папка во время сборки.

задание Build action "нет" предотвращает публикацию файлов в исходном расположении вместе с другим содержимым. Без этого параметра файлы лицензий будут опубликованы в корневом каталоге веб-сайта и могут быть загружены.


вы можете добавить ниже настройки в Web.файл конфигурации, это обеспечит публикацию вашего файла lic

<configuration>
  <system.web>
    <compilation>
      <buildProviders>
        <remove extension=".lic"/>
        <add extension=".lic" 
             type="System.Web.Compilation.ForceCopyBuildProvider"/>
      </buildProviders>
    </compilation>
  </system.web>
</configuration>