C# 资产文件obj\project.Assets.json不';我们没有目标——VS2017
使用Visual Studio 2017,AspNetCore 1.1.2 当我试图发布(发布构建)解决方案中的任何项目时,突然出现以下错误: 资产文件“C:\example\obj\project.Assets.json”没有目标 “.NETFramework,版本=v4.5.2/win7-x86”。确保恢复已运行 并且您已经将“net452”包含在您的目标框架中 项目您可能还需要将“win7-x86”包含在项目的 运行时标识符 签入C# 资产文件obj\project.Assets.json不';我们没有目标——VS2017,c#,asp.net-core,visual-studio-2017,C#,Asp.net Core,Visual Studio 2017,使用Visual Studio 2017,AspNetCore 1.1.2 当我试图发布(发布构建)解决方案中的任何项目时,突然出现以下错误: 资产文件“C:\example\obj\project.Assets.json”没有目标 “.NETFramework,版本=v4.5.2/win7-x86”。确保恢复已运行 并且您已经将“net452”包含在您的目标框架中 项目您可能还需要将“win7-x86”包含在项目的 运行时标识符 签入project.assets.json文件后,我有: "ta
project.assets.json
文件后,我有:
"targets": {
".NETFramework,Version=v4.5.2": {
及
在*.csproj文件中,我有:
<PropertyGroup>
<TargetFramework>net452</TargetFramework>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
<PlatformTarget>x86</PlatformTarget>
</PropertyGroup>
net452
x86
未对项目中的配置进行任何更改。唯一的问题是,我已经将VS2017更新到今天的最新版本15.6.3。这会导致问题吗?根据Microsoft博客(奇怪的是,我的帐户没有发布权限),这不是错误,完全是由ReSharper引起的。如果禁用此功能,问题就会消失 呃,有一个问题:我遇到了这个错误,我没有ReSharper 经过反复搜索,我找到了我的.Net核心项目出现错误的原因,该项目已从1.0升级到2.1 在调试或发布模式下运行我的项目时,一切正常,但当我尝试发布到Azure时,出现了以下错误:
Assets file'(mikesproject)\obj\project.Assets.json'没有'.NETCoreApp,Version=v2.0'的目标。确保已运行还原,并且已将“netcoreapp2.0”包含在项目的TargetFrameworks中
虽然我在Project\Properties中将.Net Core的版本更新为2.1,并升级了各种nuget软件包,但有一个地方没有接受此更改。。。发布配置文件
我需要进入解决方案中的Properties\PublishProfiles
文件夹,打开与我发布到Azure的方式相关的.pubxml文件,并将此设置从netcoreapp2.0
更改为netcoreapp2.1
:
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
. . .
<TargetFramework>netcoreapp2.0</TargetFramework>
. . .
</PropertyGroup>
</Project>
. . .
netcoreapp2.0
. . .
可笑,嘿
我希望Microsoft的错误消息能够提供一些有关此类问题来源的线索。重新启动Visual Studio为我解决了错误。右键单击项目文件,然后单击“卸载”。然后右键单击项目并重新加载。对我来说,问题是我的一个NuGet提要已关闭,因此无法正确更新包。直到我直接在解决方案上运行NuGet软件包还原,我才看到与我的NuGet提要关闭相关的任何错误消息。重新启动Visual Studio或卸载/重新加载项目对我不起作用,但删除“obj”文件夹然后重新生成似乎已经解决了问题。在类似情况下也出现了此错误。这有助于我: 这是我的.net core 3.0项目的*.csproj文件中的属性组:
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFrameworks>netcoreapp3.0</TargetFrameworks>
<RuntimeIdentifier>win-x64</RuntimeIdentifier> <----- SOLVES IT. Mandatory Line
</PropertyGroup>
Exe
netcoreapp3.0
win-x64删除您创建的发布配置文件并创建一个新的发布配置文件。向导将为您输入正确的targetframe作品,然后再次发布。它应该可以解决这个问题。一位同事在将应用程序从dotnet core 1.1升级到dotnet core 2.1后遇到了这个问题。他正确地更新了各种csproj文件中的所有targetFramework引用,并且在其本地开发机器上没有任何问题。但是,我们在本地运行Azure DevOps服务器和构建代理,因此构建代理在执行拉取请求构建后报告此错误
由于新的目标框架,dotnet clean
任务引发错误dotnet clean
使用与生成、发布等相同的目标,因此在目标框架发生更改后,dotnet还原
必须在dotnet clean
之前进行,以更新相关文件。事后看来,这是有意义的,因为您希望在进行任何构建或部署之前将依赖关系恢复到适当的目标框架
这可能只会影响具有升级目标框架的项目,但我尚未对其进行测试。对我来说,导致此错误的原因是解决方案级别文件夹中存在指向不同.NET版本的global.json文件。
删除该文件(或更改其SDK版本)解决了问题从nuget 5.4迁移到nuget 5.8解决了我的devops build server上的问题将nuget版本从5.5.1升级到5.8.0解决了问题。您应该首先尝试这里的所有其他解决方案。如果失败的话,你可以尝试一下,当这些都没有成功的时候,你最终打开了我的锁。我在将Jenkins构建移植到代理池上的Azure DevOps管道时遇到了这个问题。在我尝试所有其他可能性之前,我花了大约60次构建。我发现需要做两件事:
确保工具与此特定项目一致
使用nuget restore-friendly和之后使用的MSBuild版本,但我无法为刚刚更新的nuget工具使用建议的解决方法
我需要使用的版本可能与您的不同
1:
2:
使用命令行生成时,收到“netcoreapp3.1”的类似错误。结果证明是MsBuild开关导致了该问题。具体来说:
/p:TargetFramework="netcoreapp3.1"
删除了开关,错误被修复。我在安装新的sdk版本时遇到了类似的问题
例外情况是:
Severity Code Description Project File Line Suppression State Error NETSDK1005
Assets file '.. \RazorPages\obj\project.assets.json' doesn't have a target for
'netcoreapp3.1'. Ensure that restore has run and that you have included 'netcoreapp3.1'
in the TargetFrameworks for your project. RazorPages
C:\Program Files\dotnet\sdk\5.0.102\Sdks\Microsoft.NET.Sdk
\targets\Microsoft.PackageDependencyResolution.targets 241
解决方案是再次选择项目的目标版本
右键单击解决方案
属性\应用程序选项卡
将目标框架版本更改为其他版本,然后将其更改回原来的版本
如果生成脚本以dotnet restore
开始,以dotnet publish--no restore
结束,则必须确保它们都包含相同的call MSBuild -t:restore Solution.sln
call MSBuild Solution.sln /t:rebuild;pack /p:Configuration=Release /p:Platform="Any CPU"
/p:TargetFramework="netcoreapp3.1"
Severity Code Description Project File Line Suppression State Error NETSDK1005
Assets file '.. \RazorPages\obj\project.assets.json' doesn't have a target for
'netcoreapp3.1'. Ensure that restore has run and that you have included 'netcoreapp3.1'
in the TargetFrameworks for your project. RazorPages
C:\Program Files\dotnet\sdk\5.0.102\Sdks\Microsoft.NET.Sdk
\targets\Microsoft.PackageDependencyResolution.targets 241