WPF .NET Core 3.1应用程序的发布单个文件(发布)失败

时间:2019-12-16 13:37:32

标签: c# wpf visual-studio .net-core .net-core-3.1

我正在尝试使用针对win-x86的发布单个文件来发布针对.NET Core 3.1的WPF应用程序(到文件夹)。该应用程序可以很好地发布以进行调试,但是发布失败。如果我取消选择“产生单个文件”,则发布工作正常。我正在使用Visual Studio 2019(16.4.1和预览16.5.1)

发布时出现此一般错误:

  

发布遇到错误。发布遇到错误。我们   无法确定错误原因。检查输出日志   更多细节。

     

诊断日志已写入以下位置:   “ C:\ Users \ username \ AppData \ Local \ Temp \ tmpD176.tmp”

加上一个不太有用的日志文件:

System.AggregateException: One or more errors occurred. ---> System.Exception: Publish has encountered an error. We were unable to determine the cause of the error. Check the output log 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.Publish.Framework.Model.DefaultPublishSteps.<>c__DisplayClass26_0.<IsBuildCompletedSuccessfully>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.Publish.Framework.Model.DefaultPublishSteps.<DefaultCorePublishStep>d__23.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.Publish.Framework.ViewModel.ProfileSelectorViewModel.<RunPublishTaskAsync>d__156.MoveNext()
---> (Inner Exception #0) System.Exception: Publish has encountered an error. We were unable to determine the cause of the error. Check the output log for more details. <---

System.Exception: Publish has encountered an error. We were unable to determine the cause of the error. Check the output log for more details. 

我发现this question暗示这可能是Visual Studio超时的问题,尽管该问题与Azure有关。我还发现这个Github issue在尝试使用ReadyToRun进行发布时显示出类似的内容。

我们在几周前成功出版,变化很小。这可能是Visual Studio的问题吗?我意识到这可能是引用和NuGet包的问题,​​但我真的不知道从哪里开始着手解决此问题的核心...发布并没有提供有关可能导致问题的任何有用信息。 。有什么想法吗?

5 个答案:

答案 0 :(得分:2)

对我来说,该错误与自定义nuget源有关,例如Azure DevOps Artifacts。 有时,生成脚本会尝试从Azure DevOps还原nuget并失败,并显示(Unauthorized)错误,该错误会在发布中产生错误。

暂时禁用自定义nuget源,无论使用哪个选项(例如单个文件),都可以再次进行发布。

答案 1 :(得分:1)

我在WPF应用程序中遇到了同样的问题:

VS2019 16.3和dotnet Core 3.0-发布工作正常。

已更新为VS2019 16.4.1和dotnet Core 3.1-如所述发布失败。

唯一的区别是我瞄准的是X64。

在多次尝试编辑发布的FolderProfile之后(没有一个解决了问题),我完全删除了FolderProfile并创建了一个针对另一个文件夹的新文件夹。

再次发布作品。

希望这会有所帮助。

答案 2 :(得分:1)

我有一个相同的问题,就我而言,解决方法是从.csproj文件删除X86系统的某些dll:

<ItemGroup>
    <Reference Include="System.Management">
      <HintPath>..\..\..\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\System.Management.dll</HintPath>
    </Reference>
  </ItemGroup> 

答案 3 :(得分:0)

我遇到了同样的问题,但是我认为我的问题与我设置“ PublishSingleFile”时无法构建的项目有关。

我在他们的github问题帖子中添加了comment,假设这是他们的错误,因为.net core 3.0对我来说很好。

答案 4 :(得分:0)

值得检查您的Internet连接。发布独立的部署时遇到问题,因为我在公司防火墙后面。与您的错误相同:

发布遇到错误。我们无法确定 错误的原因。检查输出日志以获取更多详细信息。

在该日志文件中仅提供更多信息。断开连接后,VPN应用程序发布无误。