В проекте класса С#, для чего используется AssemblyCulture?

В рамках проекта класса С# есть файл свойств, называемый AssemblyInfo.cs. Внутри этого файла есть ряд атрибутов сборки, включая AssemblyTitle, AssemblyDescription и т.д., Которые используются для описания некоторых деталей о скомпилированном проекте. Один из них - AssemblyCulture.

Я понимаю, для чего используются другие, но Что используется AssemblyCulture для описания? Язык? Валюта? Немного обоим?

Всякий раз, когда я видел это свойство, он оставался пустым.

Ответ 1

В документации :

Атрибут используется компиляторами для различения основной сборки и сборки спутника. Основная сборка содержит код и ресурсы нейтральной культуры. Спутниковая сборка содержит только ресурсы для определенной культуры, как в [assembly:AssemblyCultureAttribute("de")]. Помещение этого атрибута на сборку и использование чего-то другого, кроме пустой строки ("") для имени культуры, сделают эту сборку похожим на сборку спутника, а не на основную сборку, содержащую исполняемый код. Маркировка традиционной библиотеки кода с этим атрибутом приведет к ее повреждению, потому что ни один другой код не сможет найти точки входа библиотеки во время выполнения.

Подводя итог: этот атрибут используется внутри структуры, чтобы помечать сборки спутников, автоматически создаваемые при добавлении локализованных ресурсов в ваш проект. Вам, вероятно, никогда не придется вручную устанавливать этот атрибут на что-либо, кроме "".

Ответ 2

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

"Класс AssemblyCultureAttribute реализует атрибут AssemblyCulture, который используется для указания культуры сборки, а также указывает, что это не основная сборка, а ее спутник.

[assembly: AssemblyCulture("de")] // German

"

Ответ 3

Цитата из документации:

Атрибут используется компиляторами для различения основного сборку и сборку спутника. Основная сборка содержит код и нейтральные ресурсы культуры. Спутниковая сборка содержит только ресурсов для определенной культуры, как в [assembly:AssemblyCultureAttribute("de")]. Включение этого атрибута в сборку и использование чего-то другого, кроме пустой строки ("") для название культуры сделает эту сборку похожим на спутник а не основной сборкой, которая содержит исполняемый код. Маркировка традиционной библиотеки кодов с этим атрибутом сломает ее, потому что никакой другой код не сможет найти точки входа в библиотеку во время выполнения.