Подайте это в ASP.NET, Департамент WTF.
Разочарование Когда вы разрабатываете веб-приложение с нашимуправления, появляется загадочный файл с именем licenses.licx.Нет, это не приказ использовать леденец со странным именем, а переходный файл, сгенерированный (и измененный) Visual Studio, который участвует в проверке лицензии.В режиме разработки Visual Studio использует этот файл для записи каждого лицензионного элемента управления, который вы используете в своем дизайне.Затем, когда вы создаете свое приложение, Visual Studio читает этот файл licenses.licx и для каждого упомянутого там элемента управления загружает соответствующую сборку и запускает код лицензии в этой сборке, чтобы проверить, правильно ли лицензирована сборка (то есть, что продуктк которому он принадлежит, был правильно установлен на этой машине).Если все получится, Visual Studio встраивает лицензионный ключ в исполняемый файл.Если этого не произойдет, вы получите странные сообщения об ошибках о том, что элемент управления не лицензирован (мой любимый вариант - «Не удалось преобразовать файл лицензий« licenses.licx »в бинарный ресурс»), к которому я обычно обращаюсь к красочному языку моегопредки).
Licenses.licx на самом деле файл в вашем решении (если вы не видите его там, нажмите Показать все файлы).Visual Studio использует программу lc.exe для компиляции лицензий во встроенные ресурсы вашего приложения, и когда что-то идет не так с компиляцией лицензии, я видел сообщения об ошибках, которые также ссылаются на этот исполняемый файл.
ВотПример строки в файле licenses.licx.
DevExpress.XtraCharts.Web.WebChartControl, DevExpress.XtraCharts.v8.2.Web, версия = 8.2.4.0, культура = нейтральная, PublicKeyToken = 9b171c9fd64da1d1
Первое значение в этом списке с разделителями-запятыми - это класс, второе - это сборка, в которой он найден, а остальные значения - это остальное строгое имя сборки.Я уверен, что вы уже видите проблемы, особенно когда вы обновляете решение до последних версий сторонних элементов управления, которые вы используете.Если вы хотите, вы можете отредактировать этот файл и без проблем удалить части со строгим именем.
Но это не самая большая проблема с licenses.licx.Дело в том, что Visual Studio имеет склонность касаться этого файла, если вы открываете решение (это «касается», как при изменении даты файла на текущую дату / время).Это отрицательно сказывается на лицензировании, особенно если вы открываете решение на нелицензированном компьютере и используете систему контроля версий.Внезапно ваша сборочная машина скинет эти сообщения «невозможно преобразовать», и вы задаетесь вопросом, что пошло не так.Другая распространенная проблема - когда у вас есть команда разработчиков, работающих над решением: все они неосознанно «модифицируют» этот файл.
Таким образом, ответ, как представляется, заключается не в том, чтобы поместить файл licenses.licx в исходный код.контроль. (статья КБ)
Но это решение проблемы бросает еще один красный флаг: если один из разработчиков в команде добавляет новый элемент управления, который требует лицензирования для формы, добавляется строкав его локальный файл licenses.licx, и он может не отразиться на контроле исходного кода.Бэм, твоя сборочная машина не справляется со сборкой, и Джо, который добавил элемент управления, должен покупать пончики для команды, пока кто-то еще не сломает сборку.
Боюсь, у меня нет хорошего решения этой последней проблемы,потому что, к сожалению, «не помещая licenses.licx в систему контроля версий», похоже, так все решают проблему лицензирования.Другое решение состоит в том, чтобы полностью удалить файл licenses.licx, а затем заставить Visual Studio сгенерировать его заново, открыв решение (хотя на сборочной машине это немного сложно).
В любом случае, надеюсь, что в некоторых случаях все поможетпуть.И удар по ноутбуку с телефоном на самом деле не поможет.