-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。 –

相關問題