Ответ 1
Используйте атрибут Literal
:
[<Literal>]
let version = "1.2.3.4"
[<assembly:AssemblyVersion(version)>]
Мне нужно установить номер версии, который будет использоваться в атрибуте AssemblyVersion несколькими связанными проектами.
В С# я использую следующие
public class Constants {
public const string Version = "1.2.3.4";
}
то его можно использовать следующим образом:
[assembly:AssemblyVersion(Constants.Version)]
Какова будет эквивалентная конструкция в F #. Все мои попытки придумать привязку, которая может быть принята как аргумент атрибута, не сработали.
Используйте атрибут Literal
:
[<Literal>]
let version = "1.2.3.4"
[<assembly:AssemblyVersion(version)>]
Так как я сам вошел в эту ловушку, я подумал, что поделюсь тем, кто последует за мной. "Литература" требует, чтобы письмо начиналось с прописной буквы. Это поразит вас, когда вы попытаетесь использовать литерал в конструкции, соответствующей шаблону.
Ссылка: Недействительный атрибут Literal