Проект в стиле VS2019 Winforms SDK, не удается добавить новую форму

#c# #visual-studio-2019

#c# #visual-studio-2019

Вопрос:

VS20019 создает проект Windows forms, ориентированный на .net framework (а именно .net 4.7.2), как проект в «старом» стиле. Я преобразовал недавно созданный проект в стиль SDK с Project2015To2017.Migrate2019.Tool. Преобразованный проект выполняется нормально, но в диалоговом окне VS20019 Add/New item нет раздела Winforms и шаблона формы. В диалоговом окне VS2017 Add/New item по-прежнему успешно отображается раздел Winforms. Так же, как VS20019 делает для оригинального проекта в «старом» стиле.

Чего мне не хватает? Преобразованный проект :

 <Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <OutputType>WinExe</OutputType>
    <TargetFramework>net472</TargetFramework>
    <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
    <GenerateAssemblyInfo>false</GenerateAssemblyInfo>
    <OutputPath>bin$(Configuration)</OutputPath>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
    <DebugType>full</DebugType>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
    <DebugType>pdbonly</DebugType>
  </PropertyGroup>
  <ItemGroup>
    <Reference Include="System.Data.DataSetExtensions" />
    <Reference Include="Microsoft.CSharp" />
    <Reference Include="System.Deployment" />
    <Reference Include="System.Net.Http" />
    <Reference Include="System.Windows.Forms" />
  </ItemGroup>
  <ItemGroup>
    <Compile Update="Form1.cs">
      <SubType>Form</SubType>
    </Compile>
    <Compile Update="Form1.Designer.cs">
      <DependentUpon>Form1.cs</DependentUpon>
    </Compile>
    <EmbeddedResource Update="PropertiesResources.resx">
      <Generator>ResXFileCodeGenerator</Generator>
      <LastGenOutput>Resources.Designer.cs</LastGenOutput>
      <SubType>Designer</SubType>
    </EmbeddedResource>
    <Compile Update="PropertiesResources.Designer.cs">
      <AutoGen>True</AutoGen>
      <DependentUpon>Resources.resx</DependentUpon>
    </Compile>
    <None Include="PropertiesSettings.settings">
      <Generator>SettingsSingleFileGenerator</Generator>
      <LastGenOutput>Settings.Designer.cs</LastGenOutput>
    </None>
    <Compile Update="PropertiesSettings.Designer.cs">
      <AutoGen>True</AutoGen>
      <DependentUpon>Settings.settings</DependentUpon>
      <DesignTimeSharedInput>True</DesignTimeSharedInput>
    </Compile>
  </ItemGroup>
</Project>
  

Это VS2019 Community 16.7.1 на Windows7 prof x64.

Ответ №1:

Это правильный файл проекта. Примечание <UseWindowsForms>true</UseWindowsForms>

 <Project Sdk="Microsoft.NET.Sdk.WindowsDesktop">
  <PropertyGroup>
    <OutputType>WinExe</OutputType>
    <TargetFramework>net472</TargetFramework>
    <UseWindowsForms>true</UseWindowsForms>
 ...
  

Ответ №2:

Для WPF и Winforms:

   <UseWPF>true</UseWPF>
  <UseWindowsForms>true</UseWindowsForms>