代码之家  ›  专栏  ›  技术社区  ›  Eli Sternbach

dotnet发布-无限循环

  •  0
  • Eli Sternbach  · 技术社区  · 1 年前

    运行时 dotnet publish "{projectFilePath}" --configuration Release --output "{outputPath}" ,构建运行,但中途冻结(如下所述)。

    执行时也是如此 dotnet build

    这个问题的不同寻常之处在于,VisualStudioIDE可以编译和运行应用程序,而不会出现任何问题或警告。

    不幸的是,自上次稳定构建以来,对代码库进行了大量更改,因为只有在尝试部署时才检测到此问题。

    有两点值得注意:

    1. 自上次稳定构建以来的一个变化是在与web应用程序相同的解决方案中添加了一个NUnit项目。此后,该项目已被卸载、删除和删除,应用程序中的所有引用也已被删除。

    2. 许多Nuget包也得到了更新,尽管这在从IDE运行实例时不会对应用程序产生负面影响。值得一提的是,有几个构建 警告 格式如下:

    PATH\.csproj : warning NU1701: Package 'XAct.IO 1.1.17040.3290' was restored using '.NETFramework,Version=v4.6.1, .NETFramework,Version=v4.6.2, .NETFramework,Version=v4.7, .NETFramework,Version=v4.7.1, .NETFramework,Version=v4.7.2, .NETFramework,Version=v4.8, .NETFramework,Version=v4.8.1' instead of the project target framework 'net7.0'. This package may not be fully compatible with your project.
    
    

    我已经用执行了命令 --verbosity diag 并观察到它被卡在无限循环中,但没有卡在任何特定点上。对于 build publish

    以下尝试未能解决问题:

    1. 删除了bin和obj文件夹,并清理和重建了解决方案。
    2. 清除了NuGet包,并重新加载和更新了它们。
    3. 以管理员身份重新启动Visual Studio。
    4. 在PowerShell和Nuget Package Manager控制台中执行了dotnet命令。
    5. 已重新启动计算机。
    6. 创建了一个新的解决方案并加载到web应用程序项目中。
    7. 将.csproj文件中的所有NuGet包版本恢复到上次稳定生成中指定的版本,并清理和重新生成解决方案。

    我甚至不确定从哪里开始解决这个问题,因为应用程序在IDE中运行得很好,并且在执行dotnet命令或通过Visual Studio UI发布时会冻结。

    0 回复  |  直到 1 年前