我用微软
并在此处更改许多建议:https://stackoverflow.com/
当在本地运行时,它运行良好,但当我想在本地文件夹中发布时,我会收到以下错误:
资产文件"obj\project.Assets.json"没有".NETCoreApp,Version=v2.2"的目标。请确保已运行还原,并且已将"netcoreapp2.2"包含在项目的TargetFrameworks中
Ii有3个项目,所有项目都升级到MVC核心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="AreasAdminData" />
<Folder Include="AreasAdminModels" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..project.Modelproject.Model.csproj" />
<ProjectReference Include="..project.Repoproject.Repo.csproj" />
</ItemGroup>
</Project>
我的项目。型号.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>
在我们的案例中,在从netcoreapp30切换到netcoreapp31作为目标框架后,我们在发布时遇到了非常类似的错误。我们通过解决了这个问题
- 关闭Visual Studio
- 正在删除文件\obj\project.assets.json
- 再次打开解决方案
- 重建解决方案
在那之后,我们能够很好地发布项目。
确保您的发布配置文件显示TargetFramework的netcoreapp3.0。
在Package Manager控制台中运行以下命令:dotnet还原SolutionName.sln
这种情况通常发生在升级.net核心版本时。解决方案是创建新的发布配置文件。不需要编辑,只需创建新的发布配置文件,并以您升级的新.net核心版本为目标。
如果在lambda中执行此操作,请确保更新aws-lambda-tools-defaults.json
和serverless.template
文件。
如果使用命令行运行publish(dotnet publish(,请确保使用选项"-f";。