C# 在项目中使用SDK格式时在设计时加载资源字典
我目前正在将我的项目转换为visual studio的新SDK格式。不幸的是,我不能让设计师工作。过去,我在每个项目中添加了一个app.xaml,其中包含所有与设计时相关的资源。这导致了一些警告,但VisualStudio提供了我所需要的:XAML设计器中的语法完成 切换到SDK格式后,出现错误:C# 在项目中使用SDK格式时在设计时加载资源字典,c#,.net,wpf,.net-core,C#,.net,Wpf,.net Core,我目前正在将我的项目转换为visual studio的新SDK格式。不幸的是,我不能让设计师工作。过去,我在每个项目中添加了一个app.xaml,其中包含所有与设计时相关的资源。这导致了一些警告,但VisualStudio提供了我所需要的:XAML设计器中的语法完成 切换到SDK格式后,出现错误:\Microsoft.WinFX.targets(225,9):错误MC1002:库项目文件无法指定ApplicationDefinition元素。 因此,我删除了app.xaml文件,但现在我没有语法
\Microsoft.WinFX.targets(225,9):错误MC1002:库项目文件无法指定ApplicationDefinition元素。
因此,我删除了app.xaml文件,但现在我没有语法完成,设计器不再显示我的控件
我尝试的是添加一个资源文件并设置
<Page Include="Properties\DesignTimeResources.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
<ContainsDesignTimeResources>true</ContainsDesignTimeResources>
</Page>
设计师
MSBuild:编译
真的
在csproj文件中。但是这个技巧不再有效,因为页面无法在csproj文件中定义
微软认为这应该如何运作?是否有任何方法可以在不编辑我的1000个xaml文件的情况下将设计时资源添加到我的项目中
我确实希望避免将此添加到我的每个xaml文件中:
<UserControl.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="pack://application:,,,/MyAssembly;component/Resources/ResourceBundle.xaml"/>
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</UserControl.Resources>
这就做到了:
<ItemGroup>
<Page Update="Properties\DesignTimeResources.xaml" Condition="'$(DesignTime)'=='true' OR ('$(SolutionPath)'!='' AND Exists('$(SolutionPath)') AND '$(BuildingInsideVisualStudio)'!='true' AND '$(BuildingInsideExpressionBlend)'!='true')">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
<ContainsDesignTimeResources>true</ContainsDesignTimeResources>
</Page>
</ItemGroup>
设计师
MSBuild:编译
真的
将其添加到项目文件和my usercontrols将再次在设计时加载。。不幸的是,intellisense仍然不起作用。有一个GitHub也有同样的问题设计师本身不是问题所在。问题是设计时资源。。