Visual Studio 2017 CommunityEditionを使用して.NetCore 2.0コンソールアプリケーションを公開しようとしましたが、常に失敗します(VS2017内で完全に実行されます)。
これは私のCSPROJです:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<RuntimeIdentifiers>win10-x64;osx.10.11-x64</RuntimeIdentifiers>
<TargetFramework>netcoreapp2.0</TargetFramework>
<ApplicationIcon />
<StartupObject />
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="2.0.0" />
</ItemGroup>
<ItemGroup>
<None Update="appsettings.json">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
</ItemGroup>
<ItemGroup>
<Folder Include="Properties\PublishProfiles\" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\SharedLib\SharedLib.csproj" />
</ItemGroup>
<ProjectExtensions>
<VisualStudio>
<UserProperties appsettings_1json__JSONSchema="http://json.schemastore.org/compilerconfig" />
</VisualStudio>
</ProjectExtensions>
</Project>
これらは、私が作成した公開プロファイルのプロパティです。
[公開]をクリックすると、このエラーウィンドウが表示されます。
そして、以下はそれによって生成された素晴らしくて本当に役立つ「診断ログ」です。
System.AggregateException: One or more errors occurred. ---> System.Exception: Publishing failed.
--- 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.ApplicationCapabilities.Publish.Model.DefaultPublishSteps.<>c__DisplayClass22_0.<IsBuildCompletedSuccessfully>b__1()
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.Model.DefaultPublishSteps.<DefaultCorePublishStep>d__19.MoveNext()
--- 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__108.MoveNext()
---> (Inner Exception #0) System.Exception: Publishing failed.<---
===================
これらは私がすでに試したもので、うまくいきませんでした。
誰かがこれを手伝ってくれませんか?
dotnet CLIを使用して公開作業を行いました。 プロジェクトルートパスでcmd(Windows PowerShellも機能します)を開きます)そして、次のコマンドを実行します。
dotnet publish -c Release -r win10-x64
これにより、次のパスbin\Release\netcoreapp2.0\win10-x64\publish内に公開フォルダーが作成され、そこに.exeファイルがあります。 。
ただし、Visual Studio 2017を介して公開するとエラーが発生します。コマンドラインから作成する時間を無駄にしないため、VSを使用して公開することをお勧めします。
このページ によると、OSX(現在はMacOS)の場合、
。NET Core 2.0以降のバージョン、最小バージョンは
osx.10.12-x64
プロジェクトファイル内の次のことがいたずらを引き起こしている可能性があります。
<RuntimeIdentifiers>win10-x64;osx.10.11-x64</RuntimeIdentifiers>
私が理解していることから、OSXバージョンは.NET Core 2.0をサポートするには古すぎるはずです(/サポートされていますか?)。
しかし、私が理解していないのは、(a)コマンドラインから実行した場合、および(b)新しい/他のバージョンのVisualStudioで機能する理由です。