-1

我最近在我的一个解决方案中将我所有的类库都切换到了ASP.NET Core 2.0类库,这些类库之前都是net461库。可能在另一个解决方案中引用ASP.NET Webforms项目中的ASP.NET Core 2.0类库dll?

我通常会建立,然后将库dll复制并粘贴到另一个解决方案中的项目中,然后在VS中简单地引用它们。

这似乎没有工作了。我必须制作这些新的2.0库本地NuGet包吗?

我是否需要将.NET Core类库的TargetFramework更改为.NET Standard 2.0?

+0

您需要更具体地了解实际问题是什么; “它不起作用”不是一个问题陈述。你得到的错误信息的确切措词是什么?你能发表一些代码来重现问题吗? –

+0

@RobertHarvey我在旧的webforms解决方案中遇到错误,说:类型DateTime是在未引用的程序集中定义的。无论我的代码中引用了哪个类库,都会收到这些错误。我的问题是,如果有可能做这样的引用,或者它需要一个.NET标准类库。 –

+0

系统程序集中不是'DateTime'吗? –

回答

1

我是否需要将.NET Core类库的TargetFramework更改为.NET Standard 2.0?

这取决于。如果您的所有类库(包括依赖它们的应用程序)都以.NET Core为目标,那么不需要。

但是,如果您打算在.NET Core和.NET Framework应用程序(或其他platforms .NET Standard supports)之间共享这些库,那么您应该使它们成为.NET Standard。

+0

在需要被.NET Framework应用程序引用的库中,我添加了多个对两个引用的引用: netcoreapp2.0; netstandard2.0,然后在构建完成后从netstandard2.0文件夹复制并粘贴dll 。这有意义吗?它适用于我,因为应用程序代码仍然与netcoreapp2.0兼容。 –

+0

好的。从技术上讲,不需要多目标。 ' netstandard2.0'应该可以做到。如果你的目标是从'.NET Core 2.0'和'.NET Framework 4.6.1'中使用这个库,那么你只需要定位'.NET Standard 2.0'并且它可以在两种情况下工作,前提是你已经安装了这些框架在目标机器上。 – NightOwl888

+0

我有这样的感觉。因此,即使在我的包含所有.NET Core项目的解决方案中,这些特定的类库也可以简单地定位到.NET标准2.0,并且仍然可以通过.NET Core Web API进行引用。然后,dll也可以导出到另一个解决方案中的.NET Web App。 –

相关问题