我正在使用VS2017(版本15.7.3)和Microsoft.NET Framework版本4.7.02046 该项目可以在IDE内编译并正常运行。
尝试在命令行上发布项目时出现以下错误:
>dotnet publish -c Release -r ubuntu.16.04-x64
Microsoft (R)-Buildmodul, Version 15.7.179.6572 für .NET Core
Copyright (C) Microsoft Corporation. Alle Rechte vorbehalten.
C:\..\.nuget\packages\microsoft.web.webjobs.publish\2.0.0\build\webjobs.console.targets(24,3): error MSB4019: Das importierte Projekt "C:\Program Files\dotnet\sdk\2.1.300\Microsoft\VisualStudio\v15.0\WebApplications\Microsoft.WebApplication.targets" wurde nicht gefunden. Vergewissern Sie sich, dass der Pfad in der <Import>-Deklaration korrekt und die Datei auf dem Datenträger vorhanden ist. [C:\projectPath\MyProject\my_project.csproj]
我注意到我的机器上不存在路径“ C:\ Program Files \ dotnet \ sdk \ 2.1.300 \ Microsoft \ VisualStudio \ v15.0 \ WebApplications”,为什么它在那里?
它要求用英语检查声明
Make sure that the path in the <Import> declaration is correct and that the file exists on the disk.
我的项目文件中的任何地方都没有声明。这是什么意思?
项目文件:
<Project Sdk="Microsoft.NET.Sdk;Microsoft.NET.Sdk.Publish">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp2.1</TargetFramework>
<PreserveCompilationContext>true</PreserveCompilationContext>
<RuntimeIdentifiers>win7-x64;win7-x86;ubuntu.16.04-x64;</RuntimeIdentifiers>
<SuppressDockerTargets>True</SuppressDockerTargets>
<DockerComposeProjectPath>..\..\docker-compose.dcproj</DockerComposeProjectPath>
</PropertyGroup>
<ItemGroup>
<Compile Remove="Mqtt\**" />
<EmbeddedResource Remove="Mqtt\**" />
<None Remove="Mqtt\**" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="AutoMapper.Extensions.Microsoft.DependencyInjection" Version="4.0.1" />
<PackageReference Include="M2MqttDotnetCore" Version="1.0.7" />
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="2.1.1" />
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="2.1.1" />
<PackageReference Include="Microsoft.Extensions.Logging.Console" Version="2.1.1" />
<PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="2.1.1" />
<PackageReference Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="2.1.1" />
<PackageReference Include="Microsoft.Web.WebJobs.Publish" Version="2.0.0" />
<PackageReference Include="Serilog" Version="2.7.1" />
<PackageReference Include="Serilog.AspNetCore" Version="2.1.1" />
<PackageReference Include="Serilog.Enrichers.Environment" Version="2.1.2" />
<PackageReference Include="Serilog.Enrichers.Thread" Version="3.0.0" />
<PackageReference Include="Serilog.Extensions.Logging" Version="2.0.2" />
<PackageReference Include="Serilog.Extensions.Logging.File" Version="1.1.0" />
<PackageReference Include="Serilog.Settings.Configuration" Version="2.6.1" />
<PackageReference Include="Serilog.Sinks.Console" Version="3.1.1" />
<PackageReference Include="Serilog.Sinks.File" Version="4.0.0" />
<PackageReference Include="Serilog.Sinks.Literate" Version="3.0.0" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\MyProjectArchive\MyProjectArchive.csproj" />
<ProjectReference Include="..\MyProjectSubscriptionService\MyProjectSubscriptionService.csproj" />
</ItemGroup>
<ItemGroup>
<Reference Include="Microsoft.Extensions.Configuration">
<HintPath>..\..\..\..\Program Files\dotnet\sdk\NuGetFallbackFolder\microsoft.extensions.configuration\2.0.0\lib\netstandard2.0\Microsoft.Extensions.Configuration.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Extensions.Configuration.Abstractions">
<HintPath>..\..\..\..\Program Files\dotnet\sdk\NuGetFallbackFolder\microsoft.extensions.configuration.abstractions\2.0.0\lib\netstandard2.0\Microsoft.Extensions.Configuration.Abstractions.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Extensions.Logging">
<HintPath>..\..\..\..\Program Files\dotnet\sdk\NuGetFallbackFolder\microsoft.extensions.logging\2.0.0\lib\netstandard2.0\Microsoft.Extensions.Logging.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Extensions.Logging.Abstractions">
<HintPath>..\..\..\..\Program Files\dotnet\sdk\NuGetFallbackFolder\microsoft.extensions.logging.abstractions\2.0.0\lib\netstandard2.0\Microsoft.Extensions.Logging.Abstractions.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
<None Update="appsettings.json">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Update="run.cmd">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Update="Settings.job">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
</ItemGroup>
</Project>
详细输出(使用-v d)
PROJECT_PATH>dotnet publish -v d -c Release -r ubuntu.16.04-x64
Microsoft (R)-Buildmodul, Version 15.7.179.6572 für .NET Core
Copyright (C) Microsoft Corporation. Alle Rechte vorbehalten.
Der Buildvorgang wurde am 20.06.2018 10:17:21 gestartet.
0>SDK "Microsoft.NET.Sdk" wird aufgelöst...
NdE: $(MSBuildProjectExtensionsPath)="PROJECT_PATH\obj\" (vorheriger Wert: "obj\") unter DOTNET_SDK_PATH\2.1.300\15.0\Microsoft.Common.props (60,5)
NdE: $(MSB)=";PROPS1" (vorheriger Wert: ";PROPS") unter NUGET.G.PROPS (13,5)
NdE: $(MSB)=";PROPS2" (vorheriger Wert: ";PROPS1") unter NET.SDK.PROPS (15,5)
NdE: $(MSB)=";PROPS3" (vorheriger Wert: ";PROPS2") unter NET.SDK.DEFAULT.PROPS (21,5)
NdE: $(MSB)=";PROPS4" (vorheriger Wert: ";PROPS3") unter NET.SupTarFrameW.PROPS (17,9)
NdE: $(MSB)=";PROPS5" (vorheriger Wert: ";PROPS4") unter NET.SDK.C#.PROPS (15,5)
SDK "Microsoft.NET.Sdk.Publish" wird aufgelöst...
NdE: $(OutputType)="Exe" (vorheriger Wert: "Library") unter PROJECT_PATH\my_project.csproj (3,5)
NdE: $(MSB)=";PROPS5_TP" (vorheriger Wert: ";PROPS5") unter SDK_TARGETS_PATH (15,5)
NdE: $(MSB)=";PROPS5_TP1" (vorheriger Wert: ";PROPS5_TP") unter TARGETS_PATH\Microsoft.NET.Sdk.BeforeCommon.targets (15,5)
NdE: $(MSB)=";PROPS5_TP2" (vorheriger Wert: ";PROPS5_TP1") unter ms.net.defaultAssemblyInfo.targets (15,5)
NdE: $(MSB)=";PROPS5_TP3" (vorheriger Wert: ";PROPS5_TP2") unter TARGETS_PATH\Microsoft.NET.DefaultOutputPaths.targets (27,5)
NdE: $(MSB)=";PROPS5_TP4" (vorheriger Wert: ";PROPS5_TP3") unter TARGETS_PATH\Microsoft.NET.TargetFrameworkInference.targets (46,5)
NdE: $(DefaultItemExcludes)=";bin\Release\/**;obj\Release\/**" (vorheriger Wert: ";bin\Release\/**") unter TARGETS_PATH\Microsoft.NET.TargetFrameworkInference.targets (166,5)
NdE: $(IntermediateOutputPath)="obj\Release\netcoreapp2.1\" (vorheriger Wert: "obj\Release\") unter TARGETS_PATH\Microsoft.NET.TargetFrameworkInference.targets (178,5)
NdE: $(OutputPath)="bin\Release\netcoreapp2.1\" (vorheriger Wert: "bin\Release\") unter TARGETS_PATH\Microsoft.NET.TargetFrameworkInference.targets (179,5)
NdE: $(MSB)=";PROPS5_TP5" (vorheriger Wert: ";PROPS5_TP4") unter TARGETS_PATH\Microsoft.NET.RuntimeIdentifierInference.targets (15,5)
NdE: $(IntermediateOutputPath)="obj\Release\netcoreapp2.1\ubuntu.16.04-x64\" (vorheriger Wert: "obj\Release\netcoreapp2.1\") unter TARGETS_PATH\Microsoft.NET.RuntimeIdentifierInference.targets (150,5)
NdE: $(OutputPath)="bin\Release\netcoreapp2.1\ubuntu.16.04-x64\" (vorheriger Wert: "bin\Release\netcoreapp2.1\") unter TARGETS_PATH\Microsoft.NET.RuntimeIdentifierInference.targets (151,5)
NdE: $(MSB)=";PROPS5_TP6" (vorheriger Wert: ";PROPS5_TP5") unter TARGETS_PATH\Microsoft.NET.NuGetOfflineCache.targets (15,5)
NdE: $(_FrameworkVersionForImplicitDefine)="2_1" (vorheriger Wert: "2.1") unter TARGETS_PATH\Microsoft.NET.Sdk.BeforeCommon.targets (157,5)
NdE: $(MSB)=";PROPS5_TP7" (vorheriger Wert: ";PROPS5_TP6") unter DOTNET_SDK_PATH\2.1.300\Microsoft.CSharp.CurrentVersion.targets (38,9)
NdE: $(_DebugSymbolsProduced)="true" (vorheriger Wert: "false") unter DOTNET_SDK_PATH\2.1.300\Microsoft.Common.CurrentVersion.targets (152,5)
NdE: $(_DocumentationFileProduced)="false" (vorheriger Wert: "true") unter DOTNET_SDK_PATH\2.1.300\Microsoft.Common.CurrentVersion.targets (157,5)
NdE: $(ProcessorArchitecture)="amd64" (vorheriger Wert: "x64") unter DOTNET_SDK_PATH\2.1.300\Microsoft.Common.CurrentVersion.targets (473,5)
NdE: $(DelaySign)="" (vorheriger Wert: "false") unter DOTNET_SDK_PATH\2.1.300\Microsoft.Common.CurrentVersion.targets (525,5)
NdE: $(MSB)=";PROPS5_TP8" (vorheriger Wert: ";PROPS5_TP7") unter DOTNET_SDK_PATH\2.1.300\Microsoft.Common.CurrentVersion.targets (536,5)
NdE: $(MSB)=";PROPS5_TP9" (vorheriger Wert: ";PROPS5_TP8") unter DOTNET_SDK_PATH\2.1.300\Microsoft.Common.CurrentVersion.targets (537,5)
NdE: $(_SGenGenerateSerializationAssembliesConfig)="Auto" (vorheriger Wert: "") unter DOTNET_SDK_PATH\2.1.300\Microsoft.Common.CurrentVersion.targets (3496,5)
NdE: $(MSB)=";PROPS5_TP10" (vorheriger Wert: ";PROPS5_TP9") unter DOTNET_SDK_PATH\2.1.300\NuGet.targets (45,5)
NdE: $(MSB)=";PROPS5_TP11" (vorheriger Wert: ";PROPS5_TP10") unter DOTNET_SDK_PATH\2.1.300\15.0\Microsoft.Common.targets\ImportAfter\Microsoft.NET.Build.Extensions.targets (14,5)
NdE: $(MSB)=";PROPS5_TP12" (vorheriger Wert: ";PROPS5_TP11") unter DOTNET_SDK_PATH\2.1.300\Microsoft\Microsoft.NET.Build.Extensions\Microsoft.NET.Build.Extensions.targets (15,5)
NdE: $(MSB)=";PROPS5_TP13" (vorheriger Wert: ";PROPS5_TP12") unter DOTNET_SDK_PATH\2.1.300\15.0\Microsoft.Common.targets\ImportAfter\Microsoft.TestPlatform.ImportAfter.targets (16,5)
NdE: $(MSB)=";PROPS5_TP14" (vorheriger Wert: ";PROPS5_TP13") unter DOTNET_SDK_PATH\2.1.300\Microsoft.TestPlatform.targets (17,5)
NdE: $(MSB)=";PROPS5_TP15" (vorheriger Wert: ";PROPS5_TP14") unter PROJECT_PATH\obj\my_project.csproj.nuget.g.targets (4,5)
NdE: $(FilePreview)="false" (vorheriger Wert: "") unter C:\Users\user\.nuget\packages\microsoft.web.webjobs.publish\2.0.0\build\Microsoft.Web.WebJobs.Publish.targets (36,5)
1>Projekt "PROJECT_PATH\my_project.csproj" auf Knoten "1", Restore Ziel(e).
1>Erstellung mit der Toolsversion "15.0".
1>C:\Users\user\.nuget\packages\microsoft.web.webjobs.publish\2.0.0\build\webjobs.console.targets(24,3): error MSB4019: Das importierte Projekt "DOTNET_SDK_PATH\2.1.300\Microsoft\VisualStudio\v15.0\WebApplications\Microsoft.WebApplication.targets" wurde nicht gefunden. Vergewissern Sie sich, dass der Pfad in der <Import>-Deklaration korrekt und die Datei auf dem Datenträger vorhanden ist. [PROJECT_PATH\my_project.csproj]
1>Die Erstellung des Projekts "PROJECT_PATH\my_project.csproj" ist abgeschlossen, Restore Ziel(e) -- FEHLER.
Fehler beim Buildvorgang.
"PROJECT_PATH\my_project.csproj" (Restore Ziel) (1) ->
C:\Users\user\.nuget\packages\microsoft.web.webjobs.publish\2.0.0\build\webjobs.console.targets(24,3): error MSB4019: Das importierte Projekt "DOTNET_SDK_PATH\2.1.300\Microsoft\VisualStudio\v15.0\WebApplications\Microsoft.WebApplication.targets" wurde nicht gefunden. Vergewissern Sie sich, dass der Pfad in der <Import>-Deklaration korrekt und die Datei auf dem Datenträger vorhanden ist. [PROJECT_PATH\my_project.csproj]
0 Warnung(en)
1 Fehler
Verstrichene Zeit 00:00:00.52
要添加详细的输出,我必须通过使用占位符替换重复的值来将其缩短:
NdE: Neuzuweisung der Eigenschaft
MSB: MsBuildAllProjects
DOTNET_SDK_PATH: C:\Program Files\dotnet\sdk
TARGETS_PATH: DOTNET_SDK_PATH\2.1.300\Sdks\Microsoft.NET.Sdk\targets
SDK_TARGETS_PATH: DOTNET_SDK_PATH\2.1.300\Sdks\Microsoft.NET.Sdk\Sdk\Sdk.targets
PROPS: DOTNET_SDK_PATH\2.1.300\Sdks\Microsoft.NET.Sdk\Sdk\Sdk.props
PROPS1: PROPS;NUGET.G.PROPS
PROPS2: PROPS1;NET.SDK.PROPS
PROPS3: PROPS2;NET.SDK.DEFAULT.PROPS
PROPS4: PROPS3;NET.SupTarFrameW.PROPS
PROPS5: PROPS4;NET.SDK.C#.PROPS
PROPS5_TP: PROPS5;SDK_TARGETS_PATH
PROPS5_TP1: PROPS5_TP;TARGETS_PATH\Microsoft.NET.Sdk.BeforeCommon.targets
PROPS5_TP2: PROPS5_TP1;ms.net.defaultAssemblyInfo.targets
PROPS5_TP3: PROPS5_TP2;TARGETS_PATH\Microsoft.NET.DefaultOutputPaths.targets
PROPS5_TP4: PROPS5_TP3;TARGETS_PATH\Microsoft.NET.TargetFrameworkInference.targets
PROPS5_TP5: PROPS5_TP4;TARGETS_PATH\Microsoft.NET.RuntimeIdentifierInference.targets
PROPS5_TP6: PROPS5_TP5;TARGETS_PATH\Microsoft.NET.NuGetOfflineCache.targets
PROPS5_TP7: PROPS5_TP6;DOTNET_SDK_PATH\2.1.300\Microsoft.CSharp.CurrentVersion.targets
PROPS5_TP8: PROPS5_TP7;PROJECT_PATH\my_project.csproj;DOTNET_SDK_PATH\2.1.300\Microsoft.Common.CurrentVersion.targets
PROPS5_TP9: PROPS5_TP8;PROJECT_PATH\my_project.csproj.user
PROPS5_TP10: PROPS5_TP9;DOTNET_SDK_PATH\2.1.300\NuGet.targets
PROPS5_TP11: PROPS5_TP10;DOTNET_SDK_PATH\2.1.300\15.0\Microsoft.Common.targets\ImportAfter\Microsoft.NET.Build.Extensions.targets
PROPS5_TP12: PROPS5_TP11;DOTNET_SDK_PATH\2.1.300\Microsoft\Microsoft.NET.Build.Extensions\Microsoft.NET.Build.Extensions.targets
PROPS5_TP13: PROPS5_TP12;DOTNET_SDK_PATH\2.1.300\15.0\Microsoft.Common.targets\ImportAfter\Microsoft.TestPlatform.ImportAfter.targets
PROPS5_TP14: PROPS5_TP13;DOTNET_SDK_PATH\2.1.300\Microsoft.TestPlatform.targets
PROPS5_TP15: PROPS5_TP14;PROJECT_PATH\obj\my_project.csproj.nuget.g.targets
NUGET.G.PROPS: PROJECT_PATH\obj\my_project.csproj.nuget.g.props
NET.SDK.PROPS: TARGETS_PATH\Microsoft.NET.Sdk.props
NET.SDK.DEFAULT.PROPS: TARGETS_PATH\Microsoft.NET.Sdk.DefaultItems.props
NET.SupTarFrameW.PROPS: TARGETS_PATH\Microsoft.NET.SupportedTargetFrameworks.props
NET.SDK.C#.PROPS: NET.SDK.C#.PROPS
ms.net.defaultAssemblyInfo.targets : TARGETS_PATH\Microsoft.NET.DefaultAssemblyInfo.targets
答案 0 :(得分:0)
尝试各种在搜索问题时发现的事情,最终设法解决了这个问题。但是,我不确定要解决什么问题,因为在从Visual Studio中更新Windows Powershell之前,我做了一些无法独立完成的事情。
Install-Package Microsoft.Web.WebJobs.Publish -Version 2.0.0
我尝试了其他各种方法,但是其中之一可以解决问题。