C# 将silverlight类库更改为wpf类库

C# 将silverlight类库更改为wpf类库,c#,wpf,silverlight,C#,Wpf,Silverlight,我目前有一个在silverlight应用程序中创建的库供其使用。但现在我们正在切换到WPF。所以我不知道如何将库转换为wpf库。我是否需要将所有文件复制到一个新项目(wpf类库)中 正如我在wpf项目中引用这个silver light库时所看到的。这给了我一个警告。正如消息所说,您不能使用编译为针对Silverlight的项目作为针对其他.NET framework系列的项目的参考。您需要编译一个与正在使用的.NET framework系列兼容的单独程序集(即桌面版本)。这将需要创建一个全新的

我目前有一个在silverlight应用程序中创建的库供其使用。但现在我们正在切换到WPF。所以我不知道如何将库转换为wpf库。我是否需要将所有文件复制到一个新项目(wpf类库)中


正如我在wpf项目中引用这个silver light库时所看到的。这给了我一个警告。

正如消息所说,您不能使用编译为针对Silverlight的项目作为针对其他.NET framework系列的项目的参考。您需要编译一个与正在使用的.NET framework系列兼容的单独程序集(即桌面版本)。这将需要创建一个全新的项目(我不知道有什么切实可行的方法可以同时以Silverlight和desktop.NET为单一项目目标)

请注意,新项目可以使用与原始Silverlight项目相同的源文件。创建项目(应将其创建为“空项目”)后,可以使用“添加现有…”/“作为链接”选项从Silverlight项目中添加源文件,以将项添加到项目中。将源代码添加为链接将导致新项目引用其当前位置中的原始.cs文件,而不是为新项目创建它们的新副本

还要注意,Silverlight代码可能与WPF API 100%兼容,也可能与WPF API不兼容。您可能需要引入条件编译(即,在项目的“设置”“构建”选项卡中使用
#if
,并声明适当的条件编译符号),以便为每个.cs文件中的每个平台提供正确的代码


相关主题(有许多重复问题涉及将现有项目添加为链接…尽管其中许多问题涉及多个解决方案,而不仅仅是将项目添加到新项目):