Jer*_*ney 12 visual-studio webdeploy azure-web-app-service asp.net-core asp.net-core-3.1
我有一个预先存在的ASP.NET Core 3.0应用程序,它已成功部署到Azure 应用服务(使用AspNetCoreModuleV2模块)。将应用程序升级到(今天的版本)ASP.NET Core 3.1 后,应用程序在我的本地版本IIS Express上构建并正确运行。但是,当我尝试使用(今天发布的)Visual Studio 16.4发布到 Azure 应用服务时,我收到以下错误:
资产文件“C:\Project\obj\project.assets.json”没有“.NETCoreApp,Version=v3.0”的目标。确保恢复已运行并且您已在项目的 TargetFrameworks 中包含“netcoreapp3.0”。
<PackageReference>到Microsoft.AspNetCore, Microsoft.EntityFrameworkCore, 并且Microsoft.Extensions已更新为3.1.0obj文件夹以确保没有任何遗留的引用。3.1.100的版本Microsoft.PackageDependencyResolution.targets。我知道有些东西仍然挂在.NET Core 3.0依赖项上。但目前还不清楚为什么这只会在部署过程中引起问题。是Azure的应用程序Service的还没有准备好.NET 3.1的核心?或者这是依赖解析目标的问题?
Jer*_*ney 16
直接的问题——如原始问题中所确定的——与<TargetFramework>设置的两个地方有关:
csproj)pubxml)将<TargetFramework>必须更新这两个位置,他们必须匹配准确。否则,出版将无法找到其目标project.assets.json文件,这是基于内置<TargetFramework>的的csjproj文件。
注意:您可能希望
pubxml文件遵循文件中的<TargetFramework>设置csproj,但事实并非如此。
要通过文本编辑器进行此修改,
~/Properties/PublishProfiles文件夹。*.pubxml要编辑的。<TargetFramework>to的值netcoreapp3.1:<TargetFramework>netcoreapp3.1</TargetFramework>
Run Code Online (Sandbox Code Playgroud)
要通过Visual Studio 2019 IDE进行此修改,
netcoreapp3.1,单击编辑图标旁边。netcoreapp3.1.警告:使用 IDE 时,您可能会在这里遇到问题。编辑配置文件时,您可能会看到已选择的项目文件(即)中的新值
netcoreapp3.1。但是,当您单击Save时,它将恢复为原始值(例如,netcoreapp3.0在我的情况下)。这是因为您实际上并未更改界面中的值,Visual Studio 将其误认为没有更改基础值。如果您临时切换另一个值(例如Configuration),则 Visual Studio 将识别已发生更改,并且文件中的两个值都将更新*.pubxml。
再次感谢@PanagiotisKanavos 为我指明了正确的方向(请参阅对原始线程的评论)。
| 归档时间: |
|
| 查看次数: |
4881 次 |
| 最近记录: |