Fel vid installation av WPF. Net Core 3.1 app distribuerad i Microsoft Store

Permalänk
Medlem

Fel vid installation av WPF. Net Core 3.1 app distribuerad i Microsoft Store

Efter installationen av appen från Microsoft Store startar den inte och inget felmeddelande. I "Windows EventHandler - Windows loggar - Program" får jag det här felet:

Description: A .NET Core application failed. Application: MyApp.UI.exe Path: C:\Program Files\WindowsApps\MyCompany.MyApp_1.0.30.0_neutral__xxxxxxxxxxxxx\MyApp.UI\MyApp.UI.exe Message: Error: An assembly specified in the application dependencies manifest (MyApp.UI.deps.json) was not found: package: 'Microsoft.EntityFrameworkCore.Design', version: '3.1.2' path: 'lib/netstandard2.0/Microsoft.EntityFrameworkCore.Design.dll'

Jag refererar inte ens till EntityFrameworkCore.Design.

Appen fungerar bra om den publiceras i mappen.

Vad jag har provat:

1. Tagit bort alla paketreferenser och lagt till dem igen.
2. Distribuera med referenser för Microsoft.EntityFrameworkCore.Design även om jag inte ska behöva det.
3. Lagt till och tagit bort Microsoft.EntityFrameworkCore.Design i "Hantera NuGet-paket".
4. Tagit bort och lagt referenser mellan projekt.
5. dotnet restore.
6. Avinstallerade och ominstallerade Visual Studio 2019 (av vissa andra skäl också, xaml designern fungerade inte)).
7. Laddat ur projekten och laddat tillbaka dem igen.
8. Clean Solution - Raderat obj- och bin-mappar - Clean Solution and Rebuild.

Har en annan App i Microsoft Store med, i princip samma allting men den fungerar att installera och köra. Enda skillnaden jag kommer på är att den är migrerad från .net framework till .net core och använder SQLite istället för SQL server.

Här är de delar av "MyApp.UI.deps.json som handlar om Microsoft.EntityFrameworkCore.Design i "...\MyApp.UI\bin\Release\netcoreapp3.1\publish":

"Microsoft.EntityFrameworkCore.Analyzers/3.1.2": {}, "Microsoft.EntityFrameworkCore.Design/3.1.2": { "dependencies": { "Microsoft.CSharp": "4.7.0", "Microsoft.EntityFrameworkCore.Relational": "3.1.2" } }, "Microsoft.EntityFrameworkCore.Tools/3.1.2": { "dependencies": { "Microsoft.EntityFrameworkCore.Design": "3.1.2" } }, "Microsoft.EntityFrameworkCore.Design/3.1.2": { "type": "package", "serviceable": true, "sha512": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "path": "microsoft.entityframeworkcore.design/3.1.2", "hashPath": "microsoft.entityframeworkcore.design.3.1.2.nupkg.sha512" },

Så tydligen är det något som läggs till och ska läggas till. Det ser lika ut på appen som fungera. Men vad är det som går fel när app-paketet skapas eller när det laddas upp till Store?
Hur skapas MyApp.UI.deps.json?

Permalänk
Medlem

Tillägg - App.DataAccess.csproj

<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <TargetFramework>netstandard2.1</TargetFramework> </PropertyGroup> <PropertyGroup> <ResolveAssemblyWarnOrErrorOnTargetArchitectureMismatch>None</ResolveAssemblyWarnOrErrorOnTargetArchitectureMismatch> </PropertyGroup> <ItemGroup> <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="3.1.2" /> <PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="3.1.2"> <PrivateAssets>all</PrivateAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> </PackageReference> <PackageReference Include="Microsoft.Extensions.Configuration" Version="3.1.2" /> <PackageReference Include="Microsoft.Extensions.Configuration.FileExtensions" Version="3.1.2" /> <PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="3.1.2" /> </ItemGroup> <ItemGroup> <ProjectReference Include="..\App.Model\App.Model.csproj" /> </ItemGroup> <ItemGroup> <None Update="appsettings.json"> <CopyToOutputDirectory>Never</CopyToOutputDirectory> </None> </ItemGroup> </Project>

Permalänk
Medlem

Tillägg - App.UI

<Project Sdk="Microsoft.NET.Sdk.WindowsDesktop"> <PropertyGroup> <OutputType>WinExe</OutputType> <TargetFramework>netcoreapp3.1</TargetFramework> <GenerateAssemblyInfo>false</GenerateAssemblyInfo> <DesktopBridgeIdentifier>win10-x64</DesktopBridgeIdentifier> <DesktopBridgeSelfContained>True</DesktopBridgeSelfContained> <Properties>SelfContained=%(DesktopBridgeSelfContained);RuntimeIdentifier=%(DesktopBridgeIdentifier);PublishReadyToRun=true</Properties> <UseWPF>true</UseWPF> </PropertyGroup> <PropertyGroup> <RootNamespace>App.UI</RootNamespace> <AssemblyName>App.UI</AssemblyName> </PropertyGroup> <PropertyGroup> <Platforms>AnyCPU</Platforms> <ApplicationIcon>Project_32x32.ico</ApplicationIcon> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'"> <PlatformTarget>AnyCPU</PlatformTarget> </PropertyGroup> <PropertyGroup> <ResolveAssemblyWarnOrErrorOnTargetArchitectureMismatch>None</ResolveAssemblyWarnOrErrorOnTargetArchitectureMismatch> <SignAssembly>false</SignAssembly> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'"> <PlatformTarget>AnyCPU</PlatformTarget> </PropertyGroup> <ItemGroup> <Compile Remove="AssemblyInfo.cs" /> </ItemGroup> <ItemGroup> <None Remove="appsettings.json" /> </ItemGroup> <ItemGroup> <Content Include="appsettings.json"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </Content> </ItemGroup> <ItemGroup> <PackageReference Include="Autofac" Version="5.1.2" /> <PackageReference Include="AutoMapper" Version="9.0.0" /> <PackageReference Include="DevExpress.WindowsDesktop.Wpf" Version="19.2.6" /> <PackageReference Include="DevExpress.WindowsDesktop.Wpf.Themes.All" Version="19.2.6" /> <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="3.1.2" /> <PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="3.1.2"> <PrivateAssets>all</PrivateAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> </PackageReference> <PackageReference Include="Prism.Core" Version="7.2.0.1422" /> </ItemGroup> <ItemGroup> <Folder Include="Images\" /> </ItemGroup> <ItemGroup> <ProjectReference Include="..\App.DataAccess\App.DataAccess.csproj" /> <ProjectReference Include="..\App.Model\App.Model.csproj" /> </ItemGroup> <ItemGroup> <Compile Update="Properties\Settings.Designer.cs"> <DesignTimeSharedInput>True</DesignTimeSharedInput> <AutoGen>True</AutoGen> <DependentUpon>Settings.settings</DependentUpon> </Compile> </ItemGroup> <ItemGroup> <None Update="Properties\Settings.settings"> <Generator>SettingsSingleFileGenerator</Generator> <LastGenOutput>Settings.Designer.cs</LastGenOutput> </None> </ItemGroup> </Project>

Permalänk
Medlem

Tillägg - App.Packaging.wapproj

<?xml version="1.0" encoding="utf-8"?> <Project ToolsVersion="15.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <PropertyGroup Condition="'$(VisualStudioVersion)' == '' or '$(VisualStudioVersion)' &lt; '15.0'"> <VisualStudioVersion>15.0</VisualStudioVersion> </PropertyGroup> <ItemGroup Label="ProjectConfigurations"> <ProjectConfiguration Include="Release|AnyCPU"> <Configuration>Release</Configuration> <Platform>AnyCPU</Platform> </ProjectConfiguration> <ProjectConfiguration Include="Debug|AnyCPU"> <Configuration>Debug</Configuration> <Platform>AnyCPU</Platform> </ProjectConfiguration> </ItemGroup> <PropertyGroup> <WapProjPath Condition="'$(WapProjPath)'==''">$(MSBuildExtensionsPath)\Microsoft\DesktopBridge\</WapProjPath> </PropertyGroup> <Import Project="$(WapProjPath)\Microsoft.DesktopBridge.props" /> <PropertyGroup> <ProjectGuid>XXXXXXXXXXXXXXXXXXXXXXXX</ProjectGuid> <TargetPlatformVersion>10.0.18362.0</TargetPlatformVersion> <TargetPlatformMinVersion>10.0.18362.0</TargetPlatformMinVersion> <DefaultLanguage>sv-SE</DefaultLanguage> <AppxPackageSigningEnabled>True</AppxPackageSigningEnabled> <GenerateAppInstallerFile>True</GenerateAppInstallerFile> <AppxPackageSigningTimestampDigestAlgorithm>SHA256</AppxPackageSigningTimestampDigestAlgorithm> <AppxAutoIncrementPackageRevision>True</AppxAutoIncrementPackageRevision> <GenerateTestArtifacts>True</GenerateTestArtifacts> <AppxBundlePlatforms>neutral</AppxBundlePlatforms> <HoursBetweenUpdateChecks>0</HoursBetweenUpdateChecks> <PackageCertificateThumbprint>XXXXXXXXXXXXXXXXXXXXXXXXXXXX</PackageCertificateThumbprint> </PropertyGroup> <PropertyGroup> <ResolveAssemblyWarnOrErrorOnTargetArchitectureMismatch>None</ResolveAssemblyWarnOrErrorOnTargetArchitectureMismatch> <EntryPointProjectUniqueName>..\App.UI\App.UI.csproj</EntryPointProjectUniqueName> <AppInstallerUri>C:\users\xxx</AppInstallerUri> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'"> <DefaultLanguage>sv-SE</DefaultLanguage> <AppxBundle>Always</AppxBundle> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'"> <DefaultLanguage>sv-SE</DefaultLanguage> <AppxBundle>Always</AppxBundle> </PropertyGroup> <ItemGroup> <AppxManifest Include="Package.appxmanifest"> <SubType>Designer</SubType> </AppxManifest> </ItemGroup> <ItemGroup> <Content Include="Images\LargeTile.scale-100.png" /> <Content Include="Images\LargeTile.scale-125.png" /> <Content Include="Images\LargeTile.scale-150.png" /> <Content Include="Images\LargeTile.scale-200.png" /> <Content Include="Images\LargeTile.scale-400.png" /> <Content Include="Images\SmallTile.scale-100.png" /> <Content Include="Images\SmallTile.scale-125.png" /> <Content Include="Images\SmallTile.scale-150.png" /> <Content Include="Images\SmallTile.scale-200.png" /> <Content Include="Images\SmallTile.scale-400.png" /> <Content Include="Images\SplashScreen.scale-100.png" /> <Content Include="Images\SplashScreen.scale-125.png" /> <Content Include="Images\SplashScreen.scale-150.png" /> <Content Include="Images\SplashScreen.scale-200.png" /> <Content Include="Images\LockScreenLogo.scale-200.png" /> <Content Include="Images\SplashScreen.scale-400.png" /> <Content Include="Images\Square150x150Logo.scale-100.png" /> <Content Include="Images\Square150x150Logo.scale-125.png" /> <Content Include="Images\Square150x150Logo.scale-150.png" /> <Content Include="Images\Square150x150Logo.scale-200.png" /> <Content Include="Images\Square150x150Logo.scale-400.png" /> <Content Include="Images\Square44x44Logo.altform-lightunplated_targetsize-16.png" /> <Content Include="Images\Square44x44Logo.altform-lightunplated_targetsize-24.png" /> <Content Include="Images\Square44x44Logo.altform-lightunplated_targetsize-256.png" /> <Content Include="Images\Square44x44Logo.altform-lightunplated_targetsize-32.png" /> <Content Include="Images\Square44x44Logo.altform-lightunplated_targetsize-48.png" /> <Content Include="Images\Square44x44Logo.altform-unplated_targetsize-16.png" /> <Content Include="Images\Square44x44Logo.altform-unplated_targetsize-256.png" /> <Content Include="Images\Square44x44Logo.altform-unplated_targetsize-32.png" /> <Content Include="Images\Square44x44Logo.altform-unplated_targetsize-48.png" /> <Content Include="Images\Square44x44Logo.scale-100.png" /> <Content Include="Images\Square44x44Logo.scale-125.png" /> <Content Include="Images\Square44x44Logo.scale-150.png" /> <Content Include="Images\Square44x44Logo.scale-200.png" /> <Content Include="Images\Square44x44Logo.scale-400.png" /> <Content Include="Images\Square44x44Logo.targetsize-16.png" /> <Content Include="Images\Square44x44Logo.targetsize-24.png" /> <Content Include="Images\Square44x44Logo.targetsize-24_altform-unplated.png" /> <Content Include="Images\Square44x44Logo.targetsize-256.png" /> <Content Include="Images\Square44x44Logo.targetsize-32.png" /> <Content Include="Images\Square44x44Logo.targetsize-48.png" /> <Content Include="Images\StoreLogo.scale-100.png" /> <Content Include="Images\StoreLogo.scale-125.png" /> <Content Include="Images\StoreLogo.scale-150.png" /> <Content Include="Images\StoreLogo.scale-200.png" /> <Content Include="Images\StoreLogo.scale-400.png" /> <Content Include="Images\Wide310x150Logo.scale-100.png" /> <Content Include="Images\Wide310x150Logo.scale-125.png" /> <Content Include="Images\Wide310x150Logo.scale-150.png" /> <Content Include="Images\Wide310x150Logo.scale-200.png" /> <Content Include="Images\Wide310x150Logo.scale-400.png" /> <None Include="Package.StoreAssociation.xml" /> </ItemGroup> <ItemGroup> <ProjectReference Include="..\App.UI\App.UI.csproj"> <SkipGetTargetFrameworkProperties>True</SkipGetTargetFrameworkProperties> </ProjectReference> </ItemGroup> <Import Project="$(WapProjPath)\Microsoft.DesktopBridge.targets" /> </Project>

Permalänk
Medlem

Bygger du en release version?

Visa signatur

flippy @ Quakenet

Permalänk
Medlem
Skrivet av ante84:

Bygger du en release version?

Ja. Vad tänker du på?

Permalänk
Medlem
Skrivet av aep65:

Ja. Vad tänker du på?

Du skrev om dependencies i "...\MyApp.UI\obj\Debug\netcoreapp3.1\Msix" och som jag förstår det är den assemblyn till när man utvecklar.
Men om det är en release build har jag tyvärr inga mer idéer om vad som är fel.

Visa signatur

flippy @ Quakenet

Permalänk
Medlem

Ja just det, det har du rätt i. Sökte bara snabbt upp filen inför detta ärende och fick tag i debug. Har uppdaterat första inlägget. Tack för svaret!

Permalänk
Medlem

Lite ny information.
Programmet installeras och startar om jag före Deploy tar bort referenserna till EntityFrameworkCore från UI-projektet. Då fungerar det som det ska.
Dock blir det problem i Package Manager Consol när man ska köra "Add-Migration" och "Update-Database" (Startup Project). Just nu lägger jag till referenserna när jag ska göra det och tar bort dem före Deploy.

Lagt till info om "Startup Project"
Permalänk
Medlem
Skrivet av aep65:

"Microsoft.EntityFrameworkCore.Tools/3.1.2": { "dependencies": { "Microsoft.EntityFrameworkCore.Design": "3.1.2"

Microsoft.EntityFrameworkCore.Tools har en dependency till Microsoft.EntityFrameworkCore.Design.

Hur publiserar du din applikation?

Permalänk
Medlem

@hultron:

För att publicera en WPF-app i Microsoft Store lägga man till ett nytt Projekt i Solution (Windows Application Packaging Project) och därefter referenser från det Projektet till "Startup Project". Man associerar därefter appen till MS Store.
När man sen "Publicerar" skapas en fil (.msixupload) som man skickar till MS Store.

Utan referenser till EF i UI-projektet får man följande felmeddelande när man kör "Add-Migration", även med "Default Project MyApp.DataAccess":
Your startup project 'MyApp.UI' doesn't reference Microsoft.EntityFrameworkCore.Design. This package is required for the Entity Framework Core Tools to work. Ensure your startup project is correct, install the package, and try again.

Lagt till info om Package Manager Consol och "Add-Migration"