更新1
通过@Priyesh Kumar feedback,我在网站根文件夹(网站的*.csproj文件夹)中使用了以下命令。这起作用了。然后,我将"win10-x64“内容文件复制到c:\www\sigex.com中。
dotnet publish -c Release -r win10-x64 --self-contained
我现在遇到了一些不同的问题,但我会解决它们,然后发布解决方案。
原始帖子
嗨,我正在尝试将我的网站本地发布到IIS (我在IIS管理器中创建的一个网站)。我正在使用visual studio中的“右键单击发布”选项。
在IIS管理器中,我的设置是;
对于应用程序池,我有以下内容
当我单击“发布”并选择"IIS、FTP等“并单击”发布“时。然后输入“发布方法:文件系统”的设置。我将目标位置设置为"C:\www\sigex.com“。我在"c:\windows\system32\drivers\etc\hosts“文件中使用了"127.0.0.1 sigex.com”来在本地使用此域(这很好用)。
发布设置如下所示;
设置发布配置后,我会看到下面的警告框;
tmp文件中包含以下内容;
03/06/2018 17:10:54
System.AggregateException: One or more errors occurred. ---> System.Exception: Build failed. Check the Output window for more details.
--- End of inner exception stack trace ---
at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
at Microsoft.VisualStudio.Web.Publish.PublishService.VsWebProjectPublish.<>c__DisplayClass41_0.<PublishAsync>b__2()
at System.Threading.Tasks.Task`1.InnerInvoke()
at System.Threading.Tasks.Task.Execute()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.VisualStudio.ApplicationCapabilities.Publish.ViewModel.ProfileSelectorViewModel.<RunPublishTaskAsync>d__116.MoveNext()
---> (Inner Exception #0) System.Exception: Build failed. Check the Output window for more details.<---
===================
在"Web发布活动“中,我得到了以下内容;
有人能帮我指出哪里出了问题吗?我在这里找到了这篇文章,上面说他们得到了同样的问题。
https://github.com/dotnet/core/issues/1039
然而,他们说,这只在以下情况下发生
<RuntimeIdentifiers>win10-x64</RuntimeIdentifiers>
是在*.csproj中设置的。我的*.csproj中没有上述内容
<PropertyGroup>
<TargetFramework>netcoreapp2.1</TargetFramework>
<UserSecretsId>aspnet-Onion.Website-23EA0CB5-7C55-42E5-80E3-8CD26CCDBA6C</UserSecretsId>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.App" Version="2.1.0-preview1-final" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="2.1.0-preview1-final" PrivateAssets="All" />
<PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="2.1.0-preview1-final" PrivateAssets="All" />
</ItemGroup>
<ItemGroup>
<!-- obsolete references -->
<DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools" Version="2.1.0-preview1-final" />
<DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Design" Version="2.1.0-preview1-final" />
<!--<DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="2.1.0-preview1-final" />-->
<!--<DotNetCliToolReference Include="Microsoft.Extensions.SecretManager.Tools" Version="2.0.2" />-->
<DotNetCliToolReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Tools" Version="2.1.0-preview1-final" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Onion.Repositories\Onion.Repositories.csproj" />
<ProjectReference Include="..\Onion.Services\Onion.Services.csproj" />
</ItemGroup>
</Project>
我尝试选择x86作为cpu目标,但这没有什么区别。请帮帮忙。
发布于 2018-06-04 01:56:02
尝试使用dotnet cli命令发布
dotnet publish -c Release -r win10-x64 --self-contained
-c:发布配置、发布|调试
-r:目标运行时环境。完整列表here
-- self - contained :下载并创建自包含包,无需dotnet sdk即可运行。
bin/Release/netcoreapp2.1/win10-x64/publish
中的文件夹,其中包含web.config,请确保安装hosting bundle IIS_IUSRS
和Dotnet新网站的读/写权限。<代码>H225<代码>G226阅读官方docs。
您可能也会对CORS感兴趣。从here安装IIS cors。
注意:所有版本都特定于OP的系统。请确保替换这些版本。注意:请确保您已更新Visual studio以支持dotnet核心
https://stackoverflow.com/questions/50668728
复制相似问题