Visual Studio Windows窗体设计器错误



我正在Visual Studio 2019中开发一个面向.NET Standard 2.1和.NET Framework 4.7.2的.NET Standard类库。我希望它与WinForms.NET Framework和WPF.NET Core 3.1兼容。它的依赖项之一是Entity Framework 6.4,它只能与.NET Standard 2.1或.NET Framework 4.7.2-so我不能为了与.NET Framework兼容而降级到.NET Standard 2.0。因此,我的类库同时针对这两者。

这是.NET标准库的.csproj文件:

<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFrameworks>netstandard2.1;net472</TargetFrameworks>
</PropertyGroup> 
</Project>

在.NET标准库中,我创建了一个名为"NetStandardClass"的类。这是代码:

public class NetStandardClass
{
private string _member;
public NetStandardClass(string member)
{
_member = member;
}
}

我已经创建了一个针对.NET Framework 4.7.2的WinForms应用程序。并引用.NET标准库。我创建了两个表单:创建NetStandardClass实例的BaseForm和从BaseForm派生的Form1。

这是BaseForm的代码:

public partial class BaseForm : Form
{
public BaseForm()
{
InitializeComponent();
var netStandardObject = new NetStandardClass("Test");
}
}

这是Form1的代码:

public partial class Form1 : BaseForm
{
public Form1()
{
InitializeComponent();
}
}

一切都编译并运行,没有任何错误。Form1显示没有错误。我可以毫无问题地将BaseForm加载到设计器中。

然而,当我试图将Form1加载到设计器中时,我得到了以下错误:

无法加载文件或程序集"netstandard,Version=2.1.0.0,Culture=neutral,PublicKeyToken=cc7b13ffcd2ddd51"或其依赖项之一。系统找不到指定的文件。

我做错了什么?

Sean Skelly解决了这个问题。为了使一切正常工作,.csproj文件应该如下所示:

<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFrameworks>net472;netstandard2.1</TargetFrameworks>
</PropertyGroup>
</Project>

我还验证了.NET Standard和.NET Core应用程序和库是否与该.csproj文件兼容。

相关内容

最新更新