2017-06-06 78 views
1

我发现了一个问题,通过部署混帐天青。当应用程序发布到服务器后运行PostCompile命令时,我的应用程序Blogg不断挂断。这命令是:DOTNET核心1.1 Azure的部署:没有可执行找不到匹配的命令“的dotnet-发布-IIS”

<Exec Command="dotnet publish-iis --publish-folder %publish:OutputPath% --framework %publish:FullTargetFramework%" />

我的印象是,这个命令包参考从Microsoft.AspNetCore.Server.IISIntegration但即使加版本1.1.0-preview4-final1.1.2(最新的),我仍然有麻烦后,来到。

在情况下,它是有帮助的,下面是什么在我的.csproj文件:

`<Project ToolsVersion="15.0" Sdk="Microsoft.NET.Sdk.Web"> 
    <PropertyGroup> 
    <TargetFramework>netcoreapp1.0</TargetFramework> 
    </PropertyGroup> 
    <ItemGroup> 
    <PackageReference Include="Microsoft.AspNetCore" Version="1.0.4" /> 
    <PackageReference Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Version="1.1.2" /> 
    <PackageReference Include="Microsoft.AspNetCore.Mvc" Version="1.0.3" /> 
    <PackageReference Include="Microsoft.AspNetCore.Server.IISIntegration" Version="1.1.0-preview4-final" /> 
    <PackageReference Include="Microsoft.AspNetCore.StaticFiles" Version="1.0.2" /> 
    <PackageReference Include="Microsoft.Extensions.Logging.Console" Version="1.1.2" /> 
    <PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="1.0.2" /> 
    <PackageReference Include="Microsoft.VisualStudio.Web.BrowserLink" Version="1.0.1" /> 
    </ItemGroup> 
    <ItemGroup> 
    <DotNetCliToolReference Include="Microsoft.DotNet.Watcher.Tools" Version="1.0.0" /> 
    <PackageReference Include="Microsoft.AspNetCore.Session" Version="1.1.2" /> 
    <PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="1.1.1" /> 
    <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="1.1.1" /> 
    <PackageReference Include="Microsoft.EntityFrameworkCore.sqlserver.Design" Version="1.1.1" /> 
    <PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="1.0.0-msbuild2-final" /> 
    <DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="1.0.0-msbuild2-final" /> 
    </ItemGroup> 
    <ItemGroup> 
    <None Include="wwwroot/*" CopyToPublishDirectory="Always" /> 
    <None Include="Views/*" CopyToPublishDirectory="Always" /> 
    <None Include="web.config" CopyToPublishDirectory="Always" /> 
    </ItemGroup> 
    <Target Name="MyPostCompileTarget" AfterTargets="Publish"> 
    <Exec Command="dotnet publish-iis --publish-folder %publish:OutputPath% --framework %publish:FullTargetFramework%" /> 
    </Target> 
</Project>` 

而且我从Azure的日志中发现了错误:

`Command: "D:\home\site\deployments\tools\deploy.cmd" 
Handling ASP.NET Core Web Application deployment. 
    Restoring packages for D:\home\site\repository\Blogg.csproj... 
D:\Program Files (x86)\dotnet\sdk\1.0.0-rc4-004771\NuGet.targets(97,5): warning : Dependency specified was Microsoft.AspNetCore.Server.IISIntegration (>= 1.1.0-preview4-final) but ended up with Microsoft.AspNetCore.Server.IISIntegration 1.1.0. [D:\home\site\repository\Blogg.csproj] 
    Installing Microsoft.AspNetCore.Http.Features 1.1.0. 
    Installing Microsoft.AspNetCore.Hosting.Server.Abstractions 1.1.0. 
    Installing Microsoft.Extensions.Configuration.Abstractions 1.1.0. 
    Installing Microsoft.AspNetCore.Http.Abstractions 1.1.0. 
    Installing Microsoft.AspNetCore.WebUtilities 1.1.0. 
    Installing Microsoft.Extensions.ObjectPool 1.1.0. 
    Installing Microsoft.Net.Http.Headers 1.1.0. 
    Installing Microsoft.AspNetCore.Http.Extensions 1.1.0. 
    Installing Microsoft.AspNetCore.Hosting.Abstractions 1.1.0. 
    Installing Microsoft.AspNetCore.Http 1.1.0. 
    Installing Microsoft.Extensions.Logging.Abstractions 1.1.0. 
    Installing Microsoft.Extensions.Options 1.1.0. 
    Installing Microsoft.AspNetCore.HttpOverrides 1.1.0. 
    Installing Microsoft.AspNetCore.Server.IISIntegration 1.1.0. 
    Writing lock file to disk. Path: D:\home\site\repository\obj\project.assets.json 
    Restore completed in 18.69 sec for D:\home\site\repository\Blogg.csproj. 
    Restoring packages for D:\home\site\repository\Blogg.csproj... 
    Restore completed in 14.38 sec for D:\home\site\repository\Blogg.csproj. 
    Restoring packages for D:\home\site\repository\Blogg.csproj... 
    Restore completed in 17.49 sec for D:\home\site\repository\Blogg.csproj. 

    NuGet Config files used: 
     D:\local\AppData\NuGet\NuGet.Config 

    Feeds used: 
     https://api.nuget.org/v3/index.json 

    Installed: 
     14 package(s) to D:\home\site\repository\Blogg.csproj 
Microsoft (R) Build Engine version 15.1.545.13942 
Copyright (C) Microsoft Corporation. All rights reserved. 

    Blogg -> D:\home\site\repository\bin\Release\netcoreapp1.0\Blogg.dll 
    No executable found matching command "dotnet-publish-iis" 
D:\home\site\repository\Blogg.csproj(30,5): error MSB3073: The command "dotnet publish-iis --publish-folder %publish:OutputPath% --framework %publish:FullTargetFramework%" exited with code 1. 
Failed exitCode=1, command=dotnet publish "D:\home\site\repository\Blogg.csproj" --output "D:\local\Temp\8d4ac97ca692979" --configuration Release 
An error has occurred during web site deployment. 
\r\nD:\Program Files (x86)\SiteExtensions\Kudu\62.60524.2862\bin\Scripts\starter.cmd "D:\home\site\deployments\tools\deploy.cmd"` 

回答

3

当使用csproj文件ASP .NET Core Web应用程序,您可以安全地删除此行:

<Exec Command="dotnet publish-iis …" /> 

对于project.json基础的项目,这个命令执行了默认情况下,如果你的项目使用的网络SDK现在执行的操作:

<Project Sdk="Microsoft.NET.Sdk.Web"> 

它看起来像迁移正确删除工具参考dotnet-publish-iis工具,但没有删除相应的调用。您可以用原始project.json文件在dotnet migrate tool's GitHub repository上提交问题。

+0

感谢马丁。删除'Exec'节点的工作。 – mche

相关问题