当我面向多个框架时,有没有办法省略子项目?



我继承了一个面向.NET Framework 4.6.1的库项目。我要去周末,我想使用 VS Code 在我的 mac 笔记本电脑上工作(显然,这意味着我需要以 .NET 核心为目标(。

该项目被构建成一堆子项目 - 例如

MyProject/
MyProject.SubProj1/
MyProject.SubProj2/

更复杂的是,子项目的某些部分无法移植到 .NET 核心(它们依赖于语音和 Windows 窗体(,但我可以将所有特定于框架的位提取到单独的子项目中(例如MyProject.Windows(。

我将如何编辑 .csproj 文件以面向两个框架,以便能够在我的 mac 上仅构建使用 .net core 的共享项目(因此我可以对其进行测试(,然后在我的 PC 上构建所有项目(针对 .net 框架(?

编辑:我只有两个具有框架依赖项的类,当我以核心为目标时,我完全可以省略它们。我只是对如何设置构建任务以便项目的其余部分"共享"感到困惑。

这将需要您将代码移植到 .NET Core。你不能只是切换框架并让它神奇地工作。从 .NET Framework 迁移到 .NET Core 通常需要繁重的工作和重构。

我已经将大量应用程序迁移到核心,很多时候我不得不寻找新的库来替换旧的库并重写大量代码。

我不认为你会在这个问题上😉轻松下车