我被要求开发一个软件。我是一名实习开发人员,这家公司没有其他开发人员。我得到了一个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>
1条答案
按热度按时间hmtdttj41#
以下内容不是答案,但可能有助于确保您正确设置了Visual Studio环境。
在开始之前,请确保已安装正确的工作负载和各个组件。
确保安装了正确的VS工作负载和单个组件。
下面假设您已经安装了Visual Studio 2022。
Visual Studio安装程序(Win 10):
.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。注意:如果您忘记从下载时安装更改,请不要中断,让它完成。只要你的网络是稳定的,结果是一样的。
打开Visual Studio 2022
注意:第一次打开Visual Studio 2022时,可能会提示您选择所需的配置设置。配置完成后,您将能够使用Visual Studio 2022。
为了确保您看到Visual Studio 2022主屏幕,如视频中所示,请关闭Visual Studio。然后再次打开Visual Studio 2022。
您应该看到:
由于这是一个新的安装,让我们在开始之前完成一些更多的配置。
在右下角,单击
在Visual Studio菜单中,单击【工具】
选择选项...
项目与解决方案:
展开项目和解决方案
选择地点
如果需要,可以通过单击TextBox右侧带有三个点的按钮来更改项目的位置。
文本编辑器:
NuGet包管理器:
注意:如果是在已有项目上工作,则该设置应与已有的包管理格式相匹配。
如何判断项目使用的是 Packages.config 还是 PackageReference:
使用记事本打开 .vbproj 文件。作为一个例子,让我们假设NuGet包 Newtonsoft.Json 已经添加到项目中。
如果使用 PackageReference,则会看到:
但是,对于 Packages.config,可以看到:
并且在解决方案文件夹(或项目文件夹)中可以看到名为 packages 的文件夹。
由于Visual Studio已经打开,并且我们已经点击了 * 继续不带代码 *,要创建一个新项目,可以执行以下操作:
打开解决方案浏览器
打开属性窗口
打开工具箱
注意:只有在显示表单 Design 窗口时,工具箱才可用(例如:Form1.cs [Design] 或 Form1.vb [Design])。
要在 * 代码视图 * 和 * 设计器视图之间切换:
查看资源:
更新:
若要查看窗体的设计器代码,请在解决方案资源管理器中展开窗体名称(例如:然后展开子元素(例如:Form1)。双击 Dispose(Boolean)。或者,可以使用记事本打开 Form1.Designer.vb