需要重定向 .NET 应用程序的帮助

2024-05-03

我正在尝试让 vscode 启用统一的 c# 代码完成,如下this https://code.visualstudio.com/docs/other/unity指南显示。我曾有一个problem https://stackoverflow.com/q/62111273/13118680早些时候,由于某种原因安装了 .NET 目标包,但没有安装 SDK,有人可以帮助我解决这个问题。但是,我仍然收到错误消息,提示无法找到参考程序集。我已经重新安装了开发人员包、.NET SDK 和目标包,重新启动了计算机,并卸载/重新安装了扩展。日志显示我可能必须重新定位应用程序但这非常模糊,我找不到任何关于如何做到这一点的指南。感谢您的帮助。

编辑:我尝试将目标框架更改为 4.8,但omnisharp 有相同的错误日志,但我也安装了不同的版本。这可能是拥有多个驱动器的问题吗?

.csproj目标框架:

v4.7.1

Omnisharp 错误日志:

于 2020 年 5 月 31 日晚上 7:56:50 启动 OmniSharp 服务器 目标:a:\Github\Unity\2_Terminal_Hacker\2_Terminal_Hacker.sln

OmniSharp 服务器已启动。 路径:c:\Users\0dps1.vscode\extensions\ms-dotnettools.csharp-1.22.0.omnisharp\1.35.2\OmniSharp.exe PID:5544

[信息]:OmniSharp.Stdio.Host 在 Windows 6.2.9200.0 (x64) 上启动 OmniSharp [信息]:OmniSharp.Services.DotNetCliService DotNetPath 设置为 dotnet [信息]:OmniSharp.MSBuild.Discovery.MSBuildLocator 找到 2 个 MSBuild 实例 1:Visual Studio 社区 2019 16.6.30114.105 - “A:\Program Files\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin" 2:独立 16.4 -“c:\Users\0dps1.vscode\extensions\ms-dotnettools.csharp-1.22.0.omnisharp\1.35.2.msbuild\Current\Bin” [信息]:OmniSharp.MSBuild.Discovery.MSBuildLocator 已注册的 MSBuild 实例:Visual Studio Community 2019 16.6.30114.105 - "A:\Program Files\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin" [信息]: OmniSharp.Cake.CakeProjectSystem 检测“a:\Github\Unity\2_Terminal_Hacker”中的 Cake 文件。 [信息]:OmniSharp.Cake.CakeProjectSystem 找不到任何 Cake 文件 [信息]:OmniSharp.MSBuild.ProjectSystem 检测“a:\Github\Unity\2_Terminal_Hacker\2_Terminal_Hacker.sln”中的项目。 [信息]: OmniSharp.MSBuild.ProjectManager “a:\Github\Unity\2_Terminal_Hacker\Assembly-CSharp.csproj”的队列项目更新[信息]: OmniSharp.Script.ScriptProjectSystem 检测“a:\Github\Unity\2_Terminal_Hacker”中的 CSX 文件。 [信息]:OmniSharp.Script.ScriptProjectSystem 找不到任何 CSX 文件 [信息]:OmniSharp.WorkspaceInitializer 调用工作区选项提供程序:OmniSharp.Roslyn.CSharp.Services.CSharpFormattingWorkspaceOptionsProvider, 订单:0 [信息]:OmniSharp.MSBuild.ProjectManager 加载项目:a:\Github\Unity\2_Terminal_Hacker\Assembly-CSharp.csproj [信息]: OmniSharp.WorkspaceInitializer 调用工作区选项提供程序:OmniSharp.Roslyn.CSharp.Services.RenameWorkspaceOptionsProvider, 订单:100 [信息]:OmniSharp.WorkspaceInitializer 调用工作区选项提供程序:OmniSharp.Roslyn.CSharp.Services.ImplementTypeWorkspaceOptionsProvider, 订单:110 [信息]:OmniSharp.WorkspaceInitializer 调用工作区选项提供程序:OmniSharp.Roslyn.CSharp.Services.BlockStructureWorkspaceOptionsProvider, 订单:140 [信息]:OmniSharp.WorkspaceInitializer 配置完成。 [信息]:OmniSharp.Stdio.Host Omnisharp 服务器在主机 4260 上的“a:\Github\Unity\2_Terminal_Hacker”位置使用 Stdio 运行。[失败]: OmniSharp.MSBuild.ProjectLoader 找不到 .NETFramework,Version=v4.7.1 的参考程序集。要解决此问题,请安装开发人员包(SDK/Targeting Pack)适用于此框架版本或重新定位您的应用程序。你可以 下载 .NET Framework 开发包:https://aka.ms/msbuild/developerpacks https://aka.ms/msbuild/developerpacks[警告]: OmniSharp.MSBuild.ProjectManager 无法加载项目文件“a:\Github\Unity\2_Terminal_Hacker\Assembly-CSharp.csproj”。 a:\Github\Unity\2_Terminal_Hacker\Assembly-CSharp.csproj A:\Program 文件\微软视觉 Studio\2019\Community\MSBuild\Current\Bin\Microsoft.Common.CurrentVersion.targets(1177,5): 错误:.NETFramework,Version=v4.7.1 的参考程序集是 未找到。要解决此问题,请安装开发人员包(SDK/Targeting Pack)适用于此框架版本或重新定位您的应用程序。你可以 下载 .NET Framework 开发包:https://aka.ms/msbuild/developerpacks https://aka.ms/msbuild/developerpacks

[失败]:OmniSharp.MSBuild.ProjectManager 尝试更新未加载的项目:a:\Github\Unity\2_Terminal_Hacker\Assembly-CSharp.csproj


https://learn.microsoft.com/en-us/dotnet/standard/frameworks https://learn.microsoft.com/en-us/dotnet/standard/frameworks

如果打开 .csproj 文件,您将看到“TargetFramework”标记,并且在其中显示链接中的可能值之一。 “重定向”意味着将“目标框架”值从“net471”更改为“net46”。

不幸的是,由于这是 Unity 项目,Unity 喜欢完全控制 csproj 文件的内容,您所做的任何更改都只是暂时的。因此,您可以重新定位某个目标并使错误消失,但 Unity 稍后会随心所欲地将其恢复为“net471”。

您的选择是:

  1. 修复 .net sdk /vscode 安装是否可以获得目标包。您可以尝试在 VS 社区中打开解决方案,也许它会从 UI 提供修复

  2. Unity 在播放器设置中有一个内置下拉菜单,可以针对 net2 或类似的内容而不是 net471,但那是 c#/net 的非常古老的版本。它最近可能已被完全弃用。

  3. 进行 hacks 将自己注入到 unity csproj 生成中,以便它始终使用您拥有的某个版本(不推荐)

编辑 - 是的,实际上很可能是多个驱动器问题。我从您的日志中看到 Visual Studio Community 安装在 A:\drive 上。参考程序集通常位于“C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework”中。因此,MSBuild.exe 寻找这些内容的位置与目标包实际安装的位置很可能不匹配。

除了尝试在 C:\ 上的默认位置安装 VS 之外,我真的不知道如何解决此问题 - 可能有一些神奇的环境变量可以设置为触发 MSBuild 在正确的位置查找。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

需要重定向 .NET 应用程序的帮助 的相关文章

  • 当我单击 C# 中的“取消”按钮时重定向到新页面(Web 部分)

    Cancel button tc new TableCell btnCancel new Button btnCancel Text Cancel btnCancel Click new EventHandler btnCanel Clic
  • 在 OpenCL 中将函数作为参数传递

    是否可以在 OpenCL 1 2 中将函数指针传递给内核 我知道可以用C实现 但不知道如何在OpenCL的C中实现 编辑 我想做这篇文章中描述的同样的事情 在 C 中如何将函数作为参数传递 https stackoverflow com q
  • 在 C++11 中省略返回类型

    我最近发现自己在 C 11 模式下的 gcc 4 5 中使用了以下宏 define RETURN x gt decltype x return x 并编写这样的函数 template
  • 有什么工具可以说明每种方法运行需要多长时间?

    我的程序的某些部分速度很慢 我想知道是否有我可以使用的工具 例如它可以告诉我可以运行 methodA 花了 100ms 等等 或者类似的有用信息 如果您使用的是 Visual Studio Team System 性能工具 中有一个内置分析
  • Guid 应包含 32 位数字和 4 个破折号

    我有一个包含 createuserwizard 控件的网站 创建帐户后 验证电子邮件及其验证 URL 将发送到用户的电子邮件地址 但是 当我进行测试运行时 单击电子邮件中的 URL 时 会出现以下错误 Guid should contain
  • TextBox 焦点的 WinForms 事件?

    我想添加一个偶数TextBox当它有焦点时 我知道我可以用一个简单的方法来做到这一点textbox1 Focus并检查布尔值 但我不想那样做 我想这样做 this tGID Focus new System EventHandler thi
  • 如何在 VS 中键入时显示方法的完整文档?

    标题非常具有描述性 是否有任何扩展可以让我看到我正在输入的方法的完整文档 我想查看文档 因为我可以在对象浏览器中看到它 其中包含参数的描述和所有内容 而不仅仅是一些 摘要 当然可以选择查看所有覆盖 它可能是智能感知的一部分 或者我不知道它并
  • VS30063:您无权访问 https://dev.azure.com

    我正在尝试在 asp net core 2 1 mvc 应用程序中使用以下代码连接 Azure DevOps Uri orgUrl new Uri https dev azure com xxxxx String personalAcces
  • gdb 在 docker 上立即退出“进程已完成,退出代码 1”或 lldb“数据包返回错误 8”。另外:如何在 docker 中允许进行 C++ 调试

    这花了我一整天的时间才找到 所以我将其发布以供将来参考 我正在 docker 镜像上开发 C 我正在使用克利翁 我的代码是在调试模式下编译的 并且在运行模式下运行良好 但是当尝试调试时 进程会立即退出 并显示非常丰富的信息 Process
  • 事件日志写入错误

    很简单 我想向事件日志写入一些内容 protected override void OnStop TODO Add code here to perform any tear down necessary to stop your serv
  • 组合框项目为空但数据源已满

    将列表绑定到组合框后 其 dataSource Count 为 5 但组合框项目计数为 0 怎么会这样 我习惯了 Web 编程 而且这是在 Windows 窗体中进行的 所以不行combo DataBind 方法存在 这里的问题是 我试图以
  • 在 C 中复制两个相邻字节的最快方法是什么?

    好吧 让我们从最明显的解决方案开始 memcpy Ptr const char a b 2 调用库函数的开销相当大 编译器有时不会优化它 我不会依赖编译器优化 但即使 GCC 很聪明 如果我将程序移植到带有垃圾编译器的更奇特的平台上 我也不
  • string.Compare 行为

    怎么会这样呢 这是从VS2008中的立即窗口获取的 string Compare 1 string Compare 0 0 1 从言论来看字符串比较 http msdn microsoft com en us library 84787k2
  • Silverlight Datagrid:在对列进行排序时突出显示整个列

    我的 Silverlight 应用程序中有一个 DataGrid 我想在对该列进行排序时突出显示整个列 它在概念上与上一个问题类似 Silverlight DataGrid 突出显示整列 https stackoverflow com qu
  • 如何检测 C# 中该字典键是否存在?

    我正在使用 Exchange Web 服务托管 API 和联系人数据 我有以下代码 即功能性的 但并不理想 foreach Contact c in contactList string openItemUrl https service
  • 哪些属性有助于运行时 .Net 性能?

    我正在寻找可用于通过向加载器 JIT 编译器或 ngen 提供提示来确保 Net 应用程序获得最佳运行时性能的属性 例如我们有可调试属性 http msdn microsoft com en us library k2wxda47 aspx
  • 我应该在应用程序退出之前运行 Dispose 吗?

    我应该在应用程序退出之前运行 Dispose 吗 例如 我创建了许多对象 其中一些对象具有事件订阅 var myObject new MyClass myObject OnEvent OnEventHandle 例如 在我的工作中 我应该使
  • 如何打开 Windows 资源管理器窗口并选择特定文件夹

    我有一个 winform 应用程序 这个 winform 应用程序创建了几个文件 我想在我的应用程序中实现 查找目标 功能来显示这些文件 这些文件位于同一文件夹中 看图片 假设我创建了几个文件 C Test 文件夹 该文件夹包含以下文件 C
  • 为什么 Ajax.BeginForm 在 Chrome 中不起作用?

    我正在使用 c NET MVC2 并尝试创建一个 ajax 表单来调用删除数据库记录 RemoveRelation 的方法 删除记录的过程正在按预期进行 删除记录后 表单应调用一个 JavaScript 函数 从视觉效果中删除该记录 Rem
  • 热重载时调用方法

    我正在使用 Visual Studio 2022 和 C 制作游戏 我想知道当您热重新加载应用程序 当它正在运行时 时是否可以触发一些代码 我基本上有 2 个名为 UnloadLevel 和 LoadLevel 的方法 我想在热重载时执行它

随机推荐