首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用WPF控件多目标库项目

如何使用WPF控件多目标库项目
EN

Stack Overflow用户
提问于 2018-04-05 17:08:26
回答 1查看 1.4K关注 0票数 5

我有一个类库项目,需要以.NET 3.5和.NET 4.0为目标,现在的方法是为每个目标框架创建单独的项目,并将每个项目中的文件链接到同一个源。

我想利用与.NET核心项目一起出现的新的csproj格式,因为使用新的csproj格式多目标化要简单得多。

我创建了一个新的类库(.NET核心)项目,并开始尝试移植我现有的库。

我实际上不需要针对.netcoreapp2.0,所以我的目标框架如下所示

代码语言:javascript
复制
<PropertyGroup>
  <TargetFrameworks>net35;net40</TargetFrameworks>
</PropertyGroup>

下面的代码块可以帮助使用新的csproj格式的.NET 3.5奇值

代码语言:javascript
复制
<PropertyGroup>
  <FrameworkPathOverride Condition="'$(TargetFramework)' == 'net35'">C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v3.5\Profile\Client</FrameworkPathOverride>
</PropertyGroup>

到目前一切尚好。事情开始走下坡路的原因是,我的类库中有WPF控件。我收到了编译错误,因为它找不到System.Windows和其他WPF相关项。

我发现我可以添加对其他windows程序集的引用,所以我添加了以下内容

代码语言:javascript
复制
<ItemGroup>
  <Reference Include="PresentationFramework" />
  <Reference Include="PresentationCore" />
  <Reference Include="WindowsBase" />
</ItemGroup>

这消除了我的大部分错误,但现在我遇到了像The name 'InitializeComponent' does not exist in the current context这样的错误。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-04-05 17:08:26

一些WPF项从System.Xaml 4.0开始迁移到一个新的库.NET

只有在构建The name 'InitializeComponent' does not exist in the current context 4.0目标时才抛出错误.NET。

要解决这个问题,需要将以下块添加到csproj文件中

代码语言:javascript
复制
<ItemGroup Condition="'$(TargetFramework)'=='net40'">
  <Reference Include="System.Xaml" />
</ItemGroup>

另外,需要将xaml页面构建为一个页面,因此还需要将以下内容添加到csproj文件中

所有需要编译为页面的xaml文件。

代码语言:javascript
复制
<ItemGroup>
  ...
  <Page Include="Path\to\SomeWindow.xaml" />
  <Page Include="Path\to\SomeOtherWindow.xaml" />
  ...
</ItemGroup>

这将从解决方案资源管理器中删除xaml文件,因此找到了一个解决方案,它添加了以下块以使xaml页生成,但仍然显示在解决方案资源管理器中。

代码语言:javascript
复制
<ItemGroup>
  <Page Update="@(Page)" SubType="Designer" Generator="MSBuild:Compile" />
</ItemGroup>

<ItemGroup>
  <None Include="@(Page)" />
</ItemGroup>
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49677877

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档