Имена сборки.NET должны включать номер версии?

Так как требуется сравнить значение поиска с String или Number. Вы можете попытаться преобразовать его в Number и вернуться к исходному строковому значению, если преобразование не удастся (т. Е. Когда parseInt вернет NaN):

SearchValue = parseInt(SearchValue) || SearchValue;

Тогда просто используйте строгое сравнение: [118 ]

postnummer[i][k] === SearchValue

Таким образом вы сохраните возможность сравнивать как по числовым, так и по строковым значениям.

10
задан Jay Bazuzi 21 November 2008 в 21:32
поделиться

8 ответов

Это - то, для чего файл Properties/AssemblyInfo.cs.

Существует две версии в том файле, версии файла и версии блока:

[assembly: AssemblyVersion("1.1.0.256"]
[assembly: AssemblyFileVersion("1.1.0.256")]

После того как они установлены, можно использовать их для отслеживания версий Вас двоичные файлы. Это легко просматривается в проводнике щелчком правой кнопкой-> свойства.

Ни один из dll или имен exe, включенных в приложения Microsoft (и ОС), не использует ту конвенцию.

Другие системы будут использовать эти числа, чтобы разрешить зависимости и проверить версию. Например, система MSI обновит двоичные файлы на основе свойств версии.

12
ответ дан 3 December 2019 в 14:54
поделиться

Руководство по проектированию платформы Krzysztof Cwalina и Brad Abrams из Microsoft предлагает блок, называющий как

<Company>.<Component>.dll

Я далее поддерживаю это (не использование версии #), потому что GAC и dll свойства файла покажут версию.

8
ответ дан 3 December 2019 в 14:54
поделиться

Я знаю индикаторы версии использования веб-сайта DevExpress как часть их имен сборки, такие как XtraEditors8.2.dll. Я предполагаю, что причина состоит в том, что Вы хотите смочь иметь несколько версий блока, расположенного в том же каталоге. Например, у нас есть приблизительно 15 smartclients, которые распределяются как часть той же оболочки/клиента. Каждый smartclient может иметь различную версию средств управления DevExpress, и поэтому мы должны смочь иметь XtraEditors7.1.dll и XtraEditors8.2 существующий в том же каталоге.

Я сказал бы, что, если у Вас есть общие библиотеки, которые являются зависимостями допускающих повторное использование модулей и могут существовать в нескольких версиях 1.0, 1.1, 1.2 и т.д. затем, это был бы допустимый аргумент, что номера версий могли быть включены в имя для предотвращения коллизий. Учитывая, что общее освобождает, не живут в GAC.

4
ответ дан 3 December 2019 в 14:54
поделиться

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

3
ответ дан 3 December 2019 в 14:54
поделиться

просто посмотрите на платформу.NET или любой другой продукт Microsoft в этом отношении. при помещении номера версии, поскольку часть имени сборки походит на плохую идею.

Существует место для этого (и другая информация) в разделе метаданных блока. (AssemblyInfo.cs)

Этой информацией может быть представление в Windows Explorer (диалоговое окно свойств, строка состояния, подсказка - они все показывают эту информацию).

3
ответ дан 3 December 2019 в 14:54
поделиться

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

Платформа.NET обрабатывает зависимости, полностью отличающиеся по сравнению с файлами DLL C/C++, которые являются более традиционными, возможно иметь несколько версий библиотеки в GAC, главным образом потому что GAC является 'поддельной' папкой, которая связывается с другими файлами в файловой системе, в дополнение к способности включать блоки с Вашей исполняемой установкой (та же папка развертываются, и т.д.).

1
ответ дан 3 December 2019 в 14:54
поделиться

Информация о версии может содержаться в assemblyInfo файле и может затем быть запрошена через отражение и т.д.

Некоторые поставщики включают номер версии в имя, чтобы помочь видеть сразу, каково это. Microsoft dll имена не содержит номер версии в каталоге платформы.

0
ответ дан 3 December 2019 в 14:54
поделиться

Так как версия может быть установлена, поскольку свойство не это полу избыточный?

Я также пошел бы на конечность и предположил бы, что MS не имеет стандарта, учитывая беглый взгляд на их имена DLL: user32.dll, tcpmon.dll, winsock.dll, и т.д.

0
ответ дан 3 December 2019 в 14:54
поделиться
Другие вопросы по тегам:

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