При создании нового решения Visual Studio я хотел бы использовать Directory.Build.props
для управления номером версии c# для всех c# проектов без необходимости их индивидуальной настройки.
Однако, имея Сочетание папок c# и f # приводит к ошибке компиляции.
Severity Code Description Project File Line Suppression State
Error FS0246 Unrecognized value '8.0' for --langversion use --langversion:? for complete list FSharpLib C:\source\solution\FSharpLib\FSC 1 Active
Это самое маленькое решение для демонстрации проблемы. В реальном решении очевидно больше проектов.
Структура папок
\ solution
\ solution \ Directory.Build.props
\ solution \ CSharpLib
\ solution \ FSharpLib
Directory.Build.props
<Project>
<PropertyGroup>
<LangVersion>8.0</LangVersion>
</PropertyGroup>
</Project>
Файлы проекта (для полноты)
CSharpLib
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
</PropertyGroup>
</Project>
FSharpLib
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
</PropertyGroup>
<ItemGroup>
<Compile Include="Library.fs" />
</ItemGroup>
</Project>
Возможно ли иметь c sharp
и f sharp
проектов бок о бок с Directory.Build.props
в папке root для применения только к c sharp
проектам?
Перемещение сборочных реквизитов в папку только с проектами csharp внизу будет работать, но я не Не хочу структурировать вещи таким образом - я хочу, чтобы связанные модули были рядом друг с другом.