I want to create simple toast notification to action center in windows 10 from a WPF app using this article.
But I got problem on Step 2:
Right click on the project => Add => Reference... => Windows => Core
What I checked:
And this is my csproj file:
<?xml version="1.0" encoding="utf-8"?> <Project ToolsVersion="15.0" xmlns=""> <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" /> <PropertyGroup> <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> <ProjectGuid>{A5A389ED-4BBB-4EF4-A8A4-45DD3D0AF9AE}</ProjectGuid> <OutputType>WinExe</OutputType> <RootNamespace>WpfApp3</RootNamespace> <AssemblyName>WpfApp3</AssemblyName> <TargetFrameworkVersion>v4.5</TargetFrameworkVersion> <TargetPlatformVersion>10.0.10240.0</TargetPlatformVersion> <FileAlignment>512</FileAlignment> <ProjectTypeGuids>{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> <WarningLevel>4</WarningLevel> <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects> <Deterministic>true</Deterministic> <TargetFrameworkProfile /> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> <PlatformTarget>AnyCPU</PlatformTarget> <DebugSymbols>true</DebugSymbols> <DebugType>full</DebugType> <Optimize>false</Optimize> <OutputPath>bin\Debug\</OutputPath> <DefineConstants>DEBUG;TRACE</DefineConstants> <ErrorReport>prompt</ErrorReport> <WarningLevel>4</WarningLevel> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> <PlatformTarget>AnyCPU</PlatformTarget> <DebugType>pdbonly</DebugType> <Optimize>true</Optimize> <OutputPath>bin\Release\</OutputPath> <DefineConstants>TRACE</DefineConstants> <ErrorReport>prompt</ErrorReport> <WarningLevel>4</WarningLevel> </PropertyGroup> <ItemGroup> <Reference Include="System" /> <Reference Include="System.Data" /> <Reference Include="System.Xml" /> <Reference Include="Microsoft.CSharp" /> <Reference Include="System.Core" /> <Reference Include="System.Xml.Linq" /> <Reference Include="System.Data.DataSetExtensions" /> <Reference Include="System.Net.Http" /> <Reference Include="System.Xaml"> <RequiredTargetFramework>4.0</RequiredTargetFramework> </Reference> <Reference Include="WindowsBase" /> <Reference Include="PresentationCore" /> <Reference Include="PresentationFramework" /> </ItemGroup> <ItemGroup> <ApplicationDefinition Include="App.xaml"> <Generator>MSBuild:Compile</Generator> <SubType>Designer</SubType> </ApplicationDefinition> <Page Include="MainWindow.xaml"> <Generator>MSBuild:Compile</Generator> <SubType>Designer</SubType> </Page> <Compile Include="App.xaml.cs"> <DependentUpon>App.xaml</DependentUpon> <SubType>Code</SubType> </Compile> <Compile Include="MainWindow.xaml.cs"> <DependentUpon>MainWindow.xaml</DependentUpon> <SubType>Code</SubType> </Compile> </ItemGroup> <ItemGroup> <Compile Include="Properties\AssemblyInfo.cs"> <SubType>Code</SubType> </Compile> <Compile Include="Properties\Resources.Designer.cs"> <AutoGen>True</AutoGen> <DesignTime>True</DesignTime> <DependentUpon>Resources.resx</DependentUpon> </Compile> <Compile Include="Properties\Settings.Designer.cs"> <AutoGen>True</AutoGen> <DependentUpon>Settings.settings</DependentUpon> <DesignTimeSharedInput>True</DesignTimeSharedInput> </Compile> <EmbeddedResource Include="Properties\Resources.resx"> <Generator>ResXFileCodeGenerator</Generator> <LastGenOutput>Resources.Designer.cs</LastGenOutput> </EmbeddedResource> <None Include="Properties\Settings.settings"> <Generator>SettingsSingleFileGenerator</Generator> <LastGenOutput>Settings.Designer.cs</LastGenOutput> </None> </ItemGroup> <ItemGroup> <None Include="App.config" /> </ItemGroup> <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> </Project> This error occurs after the update to Windows 1903, because Visual studio can not access C:\Windows\System32\WinMetadata
16 Answers
On updating to the May 2019 release of Windows 10 the directory C:\WINDOWS\SysWOW64\WinMetadata is removed and this is where Visual Studio is 2017 and 2019 is looking for all of the files.
There is 2 way to solve this:
1. Click Browse in reference manager and chose your reference from C:\WINDOWS\System32\WinMetadata.
2. Copy WinMetadata folder from C:\WINDOWS\System32\WinMetadata to C:\WINDOWS\SysWOW64\WinMetadata. and then re-open reference manager.
Looks like the parent bug is documented at
For me I clicked browse and used this path %windir%\Sysnative\WinMetadata and it worked for me. Windows 10 1903 \ VS 17
2I've reproduced your issue. The node <TargetPlatformVersion> should be below the existing node <TargetFrameworkVersion> node.
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion> <TargetPlatformVersion>10.0.10240.0</TargetPlatformVersion> But there is the separate PropertyGroup with this node in your project file.
Visual Studio can not access the C:\Windows\System32\WinMetadata directory to load the windows SDK on Windows 1903.
So a downgrade from windows 1903 to 1803 solved this issue.
I have reported this problem on the visual studio developer community page.
Windows 1903:
Copy WinMetadata folder from (hidden folder) C:\WINDOWS\sysnative\WinMetadata to C:\WINDOWS\SysWOW64\WinMetadata.
Re-open reference manager.
The folder %windir%\Sysnative\WinMetadata does not seem to exist on my Windows 1903 (OS Build 18362.900).
My workaround was to make a local copy of the required files in %windir%\System32\WinMetadata (e.g. under a lib folder in your solution) and reference them from there.
In my case, this is how I got a hold of the Windows.Data.winmd and Windows.UI.winmd files (couldn't find them on NuGet).
