Как Вы управляете AssemblyInfo.cs, который хранится в SVN и изменениях с каждой сборкой

Есть два метода с именем dequeueReusableCell.

Но развертывание не выполняется и приложение вылетает , tableView.dequeueReusableCell по какой-то причине возвращает nil ....

Вы используете первый, и документ четко говорит

Возвращаемое значение

Объект UITableViewCell со связанным identifier или nil, если такого объекта нет существует в очереди многоразовых ячеек.

blockquote>

Вы можете использовать последнее. Измените строку:

let cell = tableView.dequeueReusableCell(withIdentifier: "Custom") as! CustomCell

На:

let cell = tableView.dequeueReusableCell(withIdentifier: "Custom", for: indexPath) as! CustomCell

5
задан Bruno Lopes 27 March 2009 в 00:21
поделиться

5 ответов

Прямо сейчас я обоснован на решении, вдохновленном ответом Andy White:

  • AssemblyInfo.cs сгенерирован задачей AssemblyInfo из http://msbuildtasks.tigris.org/ и сохранен вне дерева управления исходным кодом.
  • Версия является [главной]. [незначительный]. [месяц] [день]. [пересмотр svn]. Главный и Незначительный установлены вручную, другими управляет сценарий сборки. Общественный пакет Задач включает обе задачи, должен был получить рабочую копию svn пересмотр и дата.

Оборотная сторона:

  • Когда кто-то проверяет новую копию, цель установки сценария сборки должна быть выполнена, в других отношениях Visual Studio будет жаловаться на недостающие файлы. Это - проблема, которую я хотел бы удалить в будущем.
6
ответ дан 13 December 2019 в 05:43
поделиться

Я думаю, что обычная практика для AssemblyInfo.cs должна просто генерировать его динамично как часть процесса сборки, вместо того, чтобы иметь в наличии статический файл.

Путем генерации можно использовать любые произвольные / конфигурируемые параметры, которые Вы хотите.

Я полагаю, что NAnt имеет <asminfo> задача с этой целью. Я предполагаю, что существует что-то подобное для MSBuild также. Или Вы могли просто записать пользовательский сценарий поколения файла и использовать его для пихания пользовательского AssemblyInfo.cs в сборку.

5
ответ дан 13 December 2019 в 05:43
поделиться

Если Вы не проверяете возвращенный AssemblyInfo.cs в управлении исходным кодом, то, почему там шум?

Я рекомендовал бы использовать единственное значение AssemblyFileVersion для всей сборки, и что Вы любая регистрация единственного файла, содержащего ту версию, и/или, маркируете сборку номером версии. Тем путем Вы не будете чувствовать потребность зарегистрироваться, несколько изменили файлы AssemblyInfo.cs.

0
ответ дан 13 December 2019 в 05:43
поделиться

Мы только обновляем AssemblyInfo на соединительной линии после RTM/RTW/GA / (Безотносительно:) сборка конечных версий.

Наша Ночная/бета/RC/QA / (Безотносительно:) сборки просто делают копию обновленного AssemblyInfo.cs (из рабочей копии на сервере CI) в их соответствующее ответвление или тег. Мы используем Подверсию, и можно перейти/отметить на рабочей копии с незафиксированными изменениями.

Это позволяет нам сохранять обоих правильной версией AssemblyInfo для Ночной / Бета-сборки в ответвлении или теге, и только сенсорного AssemblyInfo в соединительной линии после того, как финальная версия произошла. Сервер сборки имеет переключатель, чтобы сказать этому передавать это для транкинга на этом типе сборки.

FWIW, мы управляем всем этим из сценариев MSBuild, с помощью различных значений для набора свойств для каждого типа проекта, через который проходят с нашего сервера сборки (CruiseControl.NET).

[РЕДАКТИРОВАНИЕ] Также отмечает, что версия разработчика AssemblyInfo не обновляется (если они вручную не изменяют его), таким образом, они не получают шум измененного AssemblyInfo на каждой сборке. Мы позволяем разработчикам управлять Главный. Незначительный, Сборка управления сервером сборки, и мы оставляем Пересмотр для QA для соединения с их собственной системой (потому что это проигнорировано WiX/MSI так или иначе).

1
ответ дан 13 December 2019 в 05:43
поделиться

We also use a generation step to create the AssemblyInfo.[cs|vb] files, though we simply use a template copy of the file as the source, and then a small Perl script to parse that template, replace the version string, and generate the final output.

The problem with this system is that VB projects seem to constantly load the AssemblyInfo file, which means that the project will have an error when it first loads, even before the PreBuild step can run to create the AssemblyInfo.vb file. We haven't found a solution to that problem yet - if anyone has insight, I'd love to hear it...

0
ответ дан 13 December 2019 в 05:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: