我刚刚开始从事C#工作,并且不喜欢从某个论坛获得的一些代码示例。
这段代码使用的是using system.windows.forms
我收到错误的命名空间:
表单在名称空间system.windows中不存在。
我也是收到有关未定义功能的一些错误senddown
与sendup
我认为是在Forms
名字空间。
我正在使用Visual Studio 10(带有.net frame work 4.0)。任何想法如何解决此错误?
我刚刚开始从事C#工作,并且不喜欢从某个论坛获得的一些代码示例。
这段代码使用的是using system.windows.forms
我收到错误的命名空间:
表单在名称空间system.windows中不存在。
我也是收到有关未定义功能的一些错误senddown
与sendup
我认为是在Forms
名字空间。
我正在使用Visual Studio 10(带有.net frame work 4.0)。任何想法如何解决此错误?
Answers:
如果有人在尝试在.NET Core 3+ WPF应用程序中引用Windows Forms组件时遇到此错误(实际上并不罕见)。解决方案是进入.csproj文件(在VS2019中双击该文件),然后将其添加到包含目标框架的属性组节点中。像这样:
<PropertyGroup>
<TargetFramework>netcoreapp3.0</TargetFramework>
<UseWPF>true</UseWPF>
<UseWindowsForms>true</UseWindowsForms>
</PropertyGroup>
如果要在.Net Core应用程序中编写Windows Forms代码,则很可能会遇到此错误:
错误CS0234类型或名称空间名称'Forms'在名称空间'System.Windows'中不存在(您是否缺少程序集引用?)
如果使用的是Sdk样式的项目文件(建议使用),则* .csproj文件应与此类似:
<Project Sdk="Microsoft.NET.Sdk.WindowsDesktop">
<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
<OutputType>WinExe</OutputType>
<UseWindowsForms>true</UseWindowsForms>
<RootNamespace>MyAppNamespace</RootNamespace>
<AssemblyName>MyAppName</AssemblyName>
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Windows.Compatibility" Version="3.0.0" />
</ItemGroup>
</Project>
请特别注意以下几行:
<Project Sdk="Microsoft.NET.Sdk.WindowsDesktop">
<OutputType>WinExe</OutputType>
<UseWindowsForms>true</UseWindowsForms>
<PackageReference Include="Microsoft.Windows.Compatibility" Version="3.0.0" />
请注意,如果在引用某些WinForms库时使用WPF,则也应添加<UseWPF>true</UseWPF>
。
System.Windows.Forms