winforms 在Visual Studio中设置Windows窗体应用程序(VB.NET)时遇到问题

plicqrtu  于 2023-06-24  发布在  Windows
关注(0)|答案(1)|浏览(189)

我被要求开发一个软件。我是一名实习开发人员,这家公司没有其他开发人员。我得到了一个C#源代码文件夹,其中包括其他文件夹以及一个.sln文件。
我点击了.sln文件,了解到这是一个Windows窗体应用程序,如果我理解正确的话,它不是用C#编写的,而是用Visual Basic使用.NET框架(VB.NET)编写的。我注意到在顶部的解决方案配置被设置为“发布”,所以我切换到调试。
解决方案中还有一个未加载的项目/项。名称为nameofsoftware_Installed。我下载了一个扩展,检测依赖关系,以便它会加载,但似乎没有代码,也许不需要在这个文件夹中.
我使用Visual Studio创建了一个新的Windows窗体应用程序,但没有相同数量的额外文件。
解决方案资源管理器视图:

当我点击启动时,不管有没有调试,代码都能正常工作。它确实给予了我关闭“仅我的代码”的选项。
我仍然不确定我是否已经正确地设置了一切。有一些资源文件显示为灰色,因为它们没有“包括”在项目中。我是否应该右键单击这些并将其包括在内?
我正在考虑只是采取每个文件和重新创建项目。但是,由于我不熟悉这个软件,我不知道是否有任何特殊的配置需要。软件的原始创建者是一个承包商,他忙碌了,没有时间和我说话,让我开始。我知道我需要在代码中做什么,但我正在努力安装,没有人能够帮助我。
我尝试重定目标和重新生成解决方案,删除.suo文件,并将解决方案资源管理器中的每个文件都包含在项目中。
我希望要么自己收到文件放入VS项目中,就像我们在大学教授提供一些头文件和启动代码时所做的那样,要么得到一个.sln,我可以点击开始。至少,我希望有一些关于软件的文档,它是如何工作的,它是如何实现的。也许还有一些关于开始的基本指导。
.vbproj在记事本中打开

<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
    <Platform Condition=" '$(Platform)' == '' ">x86</Platform>
    <ProductVersion>
    </ProductVersion>
    <SchemaVersion>2.0</SchemaVersion>
    <ProjectGuid>{3D798AFD-8946-4631-8CF5-12FA5B7468BF}</ProjectGuid>
    <OutputType>WinExe</OutputType>
    <StartupObject>_8816_Controller.My.MyApplication</StartupObject>
    <RootNamespace>_8816_Controller</RootNamespace>
    <AssemblyName>RATA Data Ware</AssemblyName>
    <FileAlignment>512</FileAlignment>
    <MyType>WindowsForms</MyType>
    <TargetFrameworkVersion>v4.7</TargetFrameworkVersion>
    <TargetFrameworkProfile />
    <IsWebBootstrapper>false</IsWebBootstrapper>
    <PublishUrl>publish\</PublishUrl>
    <Install>true</Install>
    <InstallFrom>Disk</InstallFrom>
    <UpdateEnabled>false</UpdateEnabled>
    <UpdateMode>Foreground</UpdateMode>
    <UpdateInterval>7</UpdateInterval>
    <UpdateIntervalUnits>Days</UpdateIntervalUnits>
    <UpdatePeriodically>false</UpdatePeriodically>
    <UpdateRequired>false</UpdateRequired>
    <MapFileExtensions>true</MapFileExtensions>
    <ApplicationRevision>0</ApplicationRevision>
    <ApplicationVersion>2.4.0.%2a</ApplicationVersion>
    <UseApplicationTrust>false</UseApplicationTrust>
    <BootstrapperEnabled>true</BootstrapperEnabled>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
    <PlatformTarget>x86</PlatformTarget>
    <DebugSymbols>true</DebugSymbols>
    <DebugType>full</DebugType>
    <DefineDebug>true</DefineDebug>
    <DefineTrace>true</DefineTrace>
    <OutputPath>bin\Debug\</OutputPath>
    <DocumentationFile>RATA Data Ware.xml</DocumentationFile>
    <NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022</NoWarn>
    <Prefer32Bit>false</Prefer32Bit>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
    <PlatformTarget>x86</PlatformTarget>
    <DebugType>pdbonly</DebugType>
    <DefineDebug>false</DefineDebug>
    <DefineTrace>true</DefineTrace>
    <Optimize>true</Optimize>
    <OutputPath>bin\Release\</OutputPath>
    <DocumentationFile>RATA Data Ware.xml</DocumentationFile>
    <NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022</NoWarn>
    <Prefer32Bit>false</Prefer32Bit>
  </PropertyGroup>
  <PropertyGroup>
    <OptionExplicit>On</OptionExplicit>
  </PropertyGroup>
  <PropertyGroup>
    <OptionCompare>Binary</OptionCompare>
  </PropertyGroup>
  <PropertyGroup>
    <OptionStrict>Off</OptionStrict>
  </PropertyGroup>
  <PropertyGroup>
    <OptionInfer>On</OptionInfer>
  </PropertyGroup>
  <PropertyGroup>
    <ApplicationIcon>WispRefresh.ico</ApplicationIcon>
  </PropertyGroup>
  <PropertyGroup>
    <ApplicationManifest>My Project\app.manifest</ApplicationManifest>
  </PropertyGroup>
  <ItemGroup>
    <Reference Include="System" />
    <Reference Include="System.Data" />
    <Reference Include="System.Data.DataSetExtensions" />
    <Reference Include="System.Drawing" />
    <Reference Include="System.Windows.Forms" />
    <Reference Include="System.Windows.Forms.DataVisualization" />
    <Reference Include="System.Xml" />
  </ItemGroup>
  <ItemGroup>
    <Import Include="Microsoft.VisualBasic" />
    <Import Include="System" />
    <Import Include="System.Collections" />
    <Import Include="System.Collections.Generic" />
    <Import Include="System.Data" />
    <Import Include="System.Drawing" />
    <Import Include="System.Diagnostics" />
    <Import Include="System.Windows.Forms" />
  </ItemGroup>
  <ItemGroup>
    <Compile Include="CalibrationSequence.Designer.vb">
      <DependentUpon>CalibrationSequence.vb</DependentUpon>
    </Compile>
    <Compile Include="CalibrationSequence.vb">
      <SubType>Form</SubType>
    </Compile>
    <Compile Include="ChannelEditor.Designer.vb">
      <DependentUpon>ChannelEditor.vb</DependentUpon>
    </Compile>
    <Compile Include="ChannelEditor.vb">
      <SubType>Form</SubType>
    </Compile>
    <Compile Include="ChartWindow.Designer.vb">
      <DependentUpon>ChartWindow.vb</DependentUpon>
    </Compile>
    <Compile Include="ChartWindow.vb">
      <SubType>Form</SubType>
    </Compile>
    <Compile Include="Common.vb" />
    <Compile Include="Error_Form.Designer.vb">
      <DependentUpon>Error_Form.vb</DependentUpon>
    </Compile>
    <Compile Include="Error_Form.vb">
      <SubType>Form</SubType>
    </Compile>
    <Compile Include="Error_Log.vb" />
    <Compile Include="MainForm.Designer.vb">
      <DependentUpon>MainForm.vb</DependentUpon>
    </Compile>
    <Compile Include="MainForm.vb">
      <SubType>Form</SubType>
    </Compile>
    <Compile Include="My Project\AssemblyInfo.vb" />
    <Compile Include="My Project\Application.Designer.vb">
      <AutoGen>True</AutoGen>
      <DependentUpon>Application.myapp</DependentUpon>
      <DesignTime>True</DesignTime>
    </Compile>
    <Compile Include="My Project\Resources.Designer.vb">
      <AutoGen>True</AutoGen>
      <DesignTime>True</DesignTime>
      <DependentUpon>Resources.resx</DependentUpon>
    </Compile>
    <Compile Include="My Project\Settings.Designer.vb">
      <AutoGen>True</AutoGen>
      <DependentUpon>Settings.settings</DependentUpon>
      <DesignTimeSharedInput>True</DesignTimeSharedInput>
    </Compile>
    <Compile Include="Storage.vb" />
    <Compile Include="Working_Data.Designer.vb">
      <AutoGen>True</AutoGen>
      <DesignTime>True</DesignTime>
      <DependentUpon>Working_Data.xsd</DependentUpon>
    </Compile>
    <Compile Include="Working_Data.vb">
      <DependentUpon>Working_Data.xsd</DependentUpon>
    </Compile>
  </ItemGroup>
  <ItemGroup>
    <EmbeddedResource Include="CalibrationSequence.resx">
      <DependentUpon>CalibrationSequence.vb</DependentUpon>
    </EmbeddedResource>
    <EmbeddedResource Include="ChannelEditor.resx">
      <DependentUpon>ChannelEditor.vb</DependentUpon>
    </EmbeddedResource>
    <EmbeddedResource Include="ChartWindow.resx">
      <DependentUpon>ChartWindow.vb</DependentUpon>
    </EmbeddedResource>
    <EmbeddedResource Include="Error_Form.resx">
      <DependentUpon>Error_Form.vb</DependentUpon>
    </EmbeddedResource>
    <EmbeddedResource Include="MainForm.resx">
      <DependentUpon>MainForm.vb</DependentUpon>
    </EmbeddedResource>
    <EmbeddedResource Include="My Project\Resources.resx">
      <Generator>VbMyResourcesResXFileCodeGenerator</Generator>
      <LastGenOutput>Resources.Designer.vb</LastGenOutput>
      <CustomToolNamespace>My.Resources</CustomToolNamespace>
      <SubType>Designer</SubType>
    </EmbeddedResource>
  </ItemGroup>
  <ItemGroup>
    <None Include="app.config" />
    <None Include="bin\Debug\RATA Data Ware.exe.config" />
    <None Include="bin\Release\RATA Data Ware.exe.config" />
    <None Include="My Project\app.manifest" />
    <None Include="My Project\Application.myapp">
      <Generator>MyApplicationCodeGenerator</Generator>
      <LastGenOutput>Application.Designer.vb</LastGenOutput>
    </None>
    <None Include="My Project\Settings.settings">
      <Generator>SettingsSingleFileGenerator</Generator>
      <CustomToolNamespace>My</CustomToolNamespace>
      <LastGenOutput>Settings.Designer.vb</LastGenOutput>
    </None>
    <None Include="Working_Data.xsc">
      <DependentUpon>Working_Data.xsd</DependentUpon>
    </None>
    <None Include="Working_Data.xsd">
      <SubType>Designer</SubType>
      <Generator>MSDataSetGenerator</Generator>
      <LastGenOutput>Working_Data.Designer.vb</LastGenOutput>
    </None>
    <None Include="Working_Data.xss">
      <DependentUpon>Working_Data.xsd</DependentUpon>
    </None>
  </ItemGroup>
  <ItemGroup>
    <None Include="Resources\delete-icon24.jpg" />
    <None Include="Resources\Delete-icon.png" />
    <None Include="Resources\edit-icon.png" />
    <None Include="Resources\add-icon24.png" />
    <None Include="Resources\Refresh.ico" />
    <Content Include="bin\Debug\RATA Data Ware.exe" />
    <Content Include="bin\Debug\RATA Data Ware.pdb" />
    <Content Include="bin\Debug\RATA Data Ware.xml" />
    <Content Include="bin\Debug\Resources\WispRefresh.ico" />
    <Content Include="bin\Release\RATA Data Ware.exe" />
    <Content Include="bin\Release\RATA Data Ware.pdb" />
    <Content Include="bin\Release\RATA Data Ware.xml" />
    <Content Include="bin\Release\Resources\WispRefresh.ico" />
    <Content Include="Resources\back-icon48.png" />
    <Content Include="Resources\clipboard-icon_Pastel32.png" />
    <Content Include="Resources\Clock-icon32.png" />
    <Content Include="Resources\delete-icon48.png" />
    <Content Include="Resources\Excel-icon24.png" />
    <Content Include="Resources\forward-icon48.png" />
    <Content Include="Resources\save-icon32.png" />
    <Content Include="Resources\Time-icon.png" />
    <Content Include="Resources\WispRefresh.ico">
      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
    </Content>
    <Content Include="WhyDoesntInstallerWork.txt" />
    <Content Include="WispRefresh.ico" />
  </ItemGroup>
  <ItemGroup>
    <BootstrapperPackage Include=".NETFramework,Version=v4.0">
      <Visible>False</Visible>
      <ProductName>Microsoft .NET Framework 4 %28x86 and x64%29</ProductName>
      <Install>true</Install>
    </BootstrapperPackage>
    <BootstrapperPackage Include="Microsoft.Net.Client.3.5">
      <Visible>False</Visible>
      <ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName>
      <Install>false</Install>
    </BootstrapperPackage>
    <BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
      <Visible>False</Visible>
      <ProductName>.NET Framework 3.5 SP1</ProductName>
      <Install>false</Install>
    </BootstrapperPackage>
    <BootstrapperPackage Include="Microsoft.Windows.Installer.3.1">
      <Visible>False</Visible>
      <ProductName>Windows Installer 3.1</ProductName>
      <Install>true</Install>
    </BootstrapperPackage>
  </ItemGroup>
  <Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" />
  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
       Other similar extension points exist, see Microsoft.Common.targets.
  <Target Name="BeforeBuild">
  </Target>
  <Target Name="AfterBuild">
  </Target>
  -->
</Project>
hmtdttj4

hmtdttj41#

以下内容不是答案,但可能有助于确保您正确设置了Visual Studio环境。
在开始之前,请确保已安装正确的工作负载和各个组件。
确保安装了正确的VS工作负载和单个组件。
下面假设您已经安装了Visual Studio 2022。

Visual Studio安装程序(Win 10):

  • 在Windows搜索框中,键入Visual Studio Installer。点击打开它:

  • 点击【修改】

  • 单击工作负载选项卡

  • 确保勾选了**.NET桌面开发**,否则勾选。

  • 单击单个组件

  • 检查所需的.NET Framework SDK和目标包(例如:.NET Framework 4.8 SDK.NET Framework 4.8 targeting pack)。若要查看.NET Framework版本,请在Visual Studio中打开该项目。然后单击 * 项目 * => * 属性 *。在左侧单击 * 应用程序 *。查看 * 目标框架 *。或者,使用记事本打开 .vbproj 文件,查找 TargetFrameworkVersion 的值。确保选择与 TargetFrameworkVersion 匹配的.NET Framework SDK和.NET Framework目标包。可以安装其他的,比如v4.8。

  • 检查**.NET Framework项目和项模板**

  • 检查**.NET SDK**
  • 检查ClickOnce发布
  • 检查NuGet包管理器
  • 检查Visual Studio SDK
  • 检查Windows 10 SDK(10.0.xxxxx.0)
  • 如果您有任何更改,请在右下角选择【全部下载,然后安装】。然后点击【修改】(如果没有修改,按钮会显示【关闭】)。
    注意:如果您忘记从下载时安装更改,请不要中断,让它完成。只要你的网络是稳定的,结果是一样的。
    打开Visual Studio 2022
    注意:第一次打开Visual Studio 2022时,可能会提示您选择所需的配置设置。配置完成后,您将能够使用Visual Studio 2022。

为了确保您看到Visual Studio 2022主屏幕,如视频中所示,请关闭Visual Studio。然后再次打开Visual Studio 2022。
您应该看到:

由于这是一个新的安装,让我们在开始之前完成一些更多的配置。

  • 在右下角,单击

  • 在Visual Studio菜单中,单击【工具】

  • 选择选项...
    项目与解决方案

  • 展开项目和解决方案

  • 选择地点

  • 如果需要,可以通过单击TextBox右侧带有三个点的按钮来更改项目的位置。

  • 选择VB默认值
  • 对于 Option Explicit,选择 On。对于 Option Strict,选择 On
    文本编辑器
  • 展开文本编辑器
  • 展开C#
  • 选择常规
  • 在右侧,检查行号
  • 展开Visual Basic
  • 展开代码样式
  • 选择【智能感知】
  • 在右侧的“Enter键行为”下,选择“Only add new line on enter after end of fully typed word”
    NuGet包管理器
  • 展开NuGet包管理器
  • 选择常规
  • 在右侧【包管理】下,【默认包管理格式】选择【PackageReference】
    注意:如果是在已有项目上工作,则该设置应与已有的包管理格式相匹配。

如何判断项目使用的是 Packages.config 还是 PackageReference
使用记事本打开 .vbproj 文件。作为一个例子,让我们假设NuGet包 Newtonsoft.Json 已经添加到项目中。
如果使用 PackageReference,则会看到:

<ItemGroup>
  <PackageReference Include="Newtonsoft.Json">
    <Version>13.0.3</Version>
  </PackageReference>
</ItemGroup>

但是,对于 Packages.config,可以看到:

<None Include="packages.config" />

并且在解决方案文件夹(或项目文件夹)中可以看到名为 packages 的文件夹。

  • 点击【确定】

由于Visual Studio已经打开,并且我们已经点击了 * 继续不带代码 *,要创建一个新项目,可以执行以下操作:

  • 在Visual Studio(VS)菜单中,单击【文件】
  • 选择【新建】
  • 选择项目
  • 为了更容易找到所需的项目模板,可以通过选择所需的过滤器来过滤它们。我们将选择:

  • 选择Windows窗体应用程序(.NET Framework)
  • 单击【下一步】
  • 输入所需的项目名称、位置,然后从下拉列表中选择所需的框架。然后单击【创建】。
    打开解决方案浏览器
  • 在VS菜单中,单击【查看】
  • 选择【解决方案浏览器】
    打开属性窗口
  • 在VS菜单中,单击【查看】
  • 选择属性窗口
    打开工具箱
  • 在VS菜单中,单击【查看】
  • 选择【工具箱】
    注意:只有在显示表单 Design 窗口时,工具箱才可用(例如:Form1.cs [Design]Form1.vb [Design])。
    要在 * 代码视图 * 和 * 设计器视图之间切换:
  • 在解决方案资源管理器中,展开。然后右键单击 Form1.vb(或 Form1.cs)。选择 * 查看代码 * 或 * 查看设计器 *。
    查看资源
  • 在VS菜单中,单击【项目】
  • 选择【属性】
  • 点击左侧【资源】
    更新

若要查看窗体的设计器代码,请在解决方案资源管理器中展开窗体名称(例如:然后展开子元素(例如:Form1)。双击 Dispose(Boolean)。或者,可以使用记事本打开 Form1.Designer.vb

相关问题