【问题标题】:Postsharp Build Errors after Update to Visual Studio Version 16.8.2更新到 Visual Studio 版本 16.8.2 后的 Postsharp 构建错误
【发布时间】:2020-11-30 18:19:19
【问题描述】:

将 Visual Studio 更新到 16.8.2 版后,我使用 Post Sharp 的解决方案不再构建。我没有升级任何项目以使用 .Net 5。以下是我看到的错误:

严重性代码描述项目文件行抑制状态 错误 CS0006 元数据文件 'C:\Dev\repos\hinge\HingeSolution\HingeApi\bin\Debug\netcoreapp3.1\HingeApi.dll' 找不到 HingeApi-tests C:\Dev\repos\hinge\HingeSolution\HingeApi-测试\CSC 1 不适用 错误 MSB4064 “PrepareForReadyToRunCompilation”任务不支持“RuntimeGraphPath”参数。验证该参数是否存在于任务中,并且它是一个可设置的公共实例属性。 HingeApi C:\ProgramData\PostSharp\CrossGenPaths\sdk5.0.100-netcoreapp5.0-r5.0.0-win-x64\CrossGen.proj 11
错误 MSB4063 无法使用其输入参数初始化“PrepareForReadyToRunCompilation”任务。 HingeApi C:\ProgramData\PostSharp\CrossGenPaths\sdk5.0.100-netcoreapp5.0-r5.0.0-win-x64\CrossGen.proj 11
错误进程“dotnet”失败,退出代码为 1。HingeApi C:\Users\dbdav.nuget\packages\postsharp\6.5.4\build\PostSharp.targets 381 错误错误:未处理的异常(PostSharp.Compiler.Hosting.CommandLine.dll 6.5.4 版本 | .NET Core 5.0.0 (X64)):值不能为 null 或空字符串。 (参数“值”)详见下文。 HingeApi C:\Dev\repos\hinge\HingeSolution\HingeApi\POSTSHARP 1
错误 System.ArgumentException:值不能为 null 或空字符串。 (参数“值”)HingeApi C:\Dev\repos\hinge\HingeSolution\HingeApi\POSTSHARP 1
NuGet.Versioning.NuGetVersion.Parse 出错(字符串值)HingeApi C:\Dev\repos\hinge\HingeSolution\HingeApi\POSTSHARP 1
PostSharp.Sdk.Extensibility.PlatformContext.^TTQPa/Ij() 中的错误 ^f/gziTthOsZk:line 354 HingeApi C:\Dev\repos\hinge\HingeSolution\HingeApi\POSTSHARP 1
^f/gziTthOsZk 中的 PostSharp.Sdk.Extensibility.PlatformContext.^pFnf8wEt() 出错:第 114 行 HingeApi C:\Dev\repos\hinge\HingeSolution\HingeApi\POSTSHARP 1
PostSharp.Sdk.Extensibility.Project.^pFnf8wEt(ProjectConfiguration[] _0, ProjectInvocationParameters _1) 中的错误 ^hW2eIAWj:line 795 HingeApi C:\Dev\repos\hinge\HingeSolution\HingeApi\POSTSHARP 1
PostSharp.Sdk.Extensibility.Project.^pFnf8wEt(ProjectInvocationParameters _0) 中的错误 ^hW2eIAWj:line 570 HingeApi C:\Dev\repos\hinge\HingeSolution\HingeApi\POSTSHARP 1
^hW2eIAWj:line 541 HingeApi C:\Dev\repos\hinge\HingeSolution\HingeApi\POSTSHARP 1 中的 PostSharp.Sdk.Extensibility.Project.LoadProject(ProjectInvocationParameters projectInvocationParameters, Domain& domain) 出错
C:\src\PostSharp-65\Public\Core\PostSharp.Compiler.Hosting\PostSharpObject.cs:line 256 HingeApi C:\Dev\repos\hinge\HingeSolution 中的 PostSharp.Hosting.PostSharpObject.InvokeProject(ProjectInvocation projectInvocation) 出错\HingeApi\POSTSHARP 1
C:\src\PostSharp-65\Public\Core\PostSharp.Compiler.Hosting\Program.cs:line 957 HingeApi C:\Dev\repos\hinge\HingeSolution\HingeApi 中的 PostSharp.Hosting.Program.ExecuteImpl() 出错\POSTSHARP 1

我尝试过重建、清理和构建。有没有人解决过这个问题?

【问题讨论】:

    标签: c# visual-studio msbuild postsharp


    【解决方案1】:

    由于 MSBuild 更改,PostSharp 6.7 与 .NET 5.0 SDK 不兼容。 .NET 5.0 SDK 在升级到 VS 16.8 时由 Visual Studio Installer 安装。

    您可以使用 global.json 继续使用 3.1 SDK,也可以使用 PostSharp 6.8。它仍处于预览阶段,但 RC 应该很快就会发布。

    更多信息是available here

    编辑:Postsharp 6.8 RC 已发布。

    【讨论】:

    • 我选择保留当前版本的 PostSharp 并更改我正在使用的 SDK。安装 .Net core 3.1 SDK 并将 global.json 文件与我的解决方案 (.sln) 一起放在目录中就像一个魅力
    【解决方案2】:

    请尝试测试这些:

    1) 将你的项目定位到.net5,然后删除bin和obj文件夹,然后再次重建你的项目。

    2)删除C:\Users\xxx(current user)\AppData\Local\Microsoft\VisualStudio\16.0_xxxx\ComponentModelCache下的所有缓存文件

    3)Extensions-->Manage Extensions-->Installed下禁用PostSharp扩展,关闭VS , 重启 VS 以启用扩展。

    4)如果有新的发布版本,只需更新扩展或重新安装扩展。

    如果所有步骤都不起作用,我认为您应该与 PostSharp 团队联系。

    【讨论】:

      猜你喜欢
      • 2021-08-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-30
      • 1970-01-01
      • 1970-01-01
      • 2013-06-12
      • 1970-01-01
      相关资源
      最近更新 更多