我将我的MVC核心项目从2.2升级到3.0 microsoft
并使用此https://stackoverflow.com/
更改许多thisnk在本地运行时可以正常工作,但是当我要在本地文件夹中发布时出现此错误
ssets文件'obj \ project.assets.json'没有针对'.NETCoreApp,Version = v2.2'的目标。确保还原已运行,并且已在项目的TargetFrameworks中包含“ netcoreapp2.2”
我有3个项目,所有这些项目都升级到MVC core 3.0,也将所有软件包都升级到3.0 还要删除对象文件夹和bin文件夹并再次构建项目,关闭VS并再次将其打开,但错误仍然存在。
更新:mvc项目csproj
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>netcoreapp3.0</TargetFramework>
</PropertyGroup>
<ItemGroup>
<!--<PackageReference Include="Microsoft.AspNetCore.App" />-->
<PackageReference Include="Microsoft.AspNetCore.Identity.UI" Version="3.0"
/>
<PackageReference
Include="Microsoft.VisualStudio.Web.CodeGeneration.Design"
Version="3.0.0" />
</ItemGroup>
<ItemGroup>
<Folder Include="Areas\Admin\Data\" />
<Folder Include="Areas\Admin\Models\" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\project.Model\project.Model.csproj" />
<ProjectReference Include="..\project.Repo\project.Repo.csproj" />
</ItemGroup>
</Project>
我的项目。MOdel.csproj
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netcoreapp3.0</TargetFramework>
</PropertyGroup>
<ItemGroup>
<PackageReference
Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Version="3.0.0"
/>
<PackageReference Include="Microsoft.AspNetCore.Identity.UI" Version="3.0.0"
/>
<PackageReference Include="Microsoft.EntityFrameworkCore.Design"
Version="3.0.0">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers;
buildtransitive</IncludeAssets>
</PackageReference>
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer"
Version="3.0.0" />
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer.Design"
Version="1.1.6" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools"
Version="3.0.0">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers;
buildtransitive</IncludeAssets>
</PackageReference>
</ItemGroup>
</Project>
答案 0 :(得分:1)
确保您的发布配置文件对TargetFramework说netcoreapp3.0。
答案 1 :(得分:1)
在Package Manager控制台中,运行以下命令: dotnet还原SolutionName.sln
答案 2 :(得分:1)
在我们的案例中,从netcoreapp30切换到netcoreapp31作为目标框架后,发布时发生了非常类似的错误。我们通过以下方式解决了该问题:
此后,我们就可以很好地发布项目。
答案 3 :(得分:0)
如果您在 lambda 中执行此操作,请确保更新 aws-lambda-tools-defaults.json
和 serverless.template
文件。
答案 4 :(得分:0)
如果您使用命令行运行发布 (dotnet publish),请确保您使用选项“-f”指定了正确的框架。