目前,我正在一家较小的公司进行第一次实习的第二天,我必须用 C# 构建一些东西。除了 Unity 之外,我以前从未使用过 C#,所以我在使用它方面有点新意。我目前在 Linux Ubuntu 20 上使用它。所以请原谅我这个最有可能是初学者的问题。
我正在使用 dotnet-sdk 构建调用“dotnet clean; dotnet build; dotnet ~/pathToDLL/etc/etc”。我现在终于有了一些工作,所以我从公司克隆了空的 git 存储库,并使用 mv 命令将我的目录与一些工作代码移动到 git 存储库。现在,当我尝试构建它时,会出现以下错误:
/snap/dotnet-sdk/107/sdk/5.0.102/Sdks/Microsoft.NET.Sdk/targets/Microsoft.PackageDependencyResolution.targets(241,5): error NETSDK1004: Assets file '/home/oscar/ Tacho/card_reader/obj/project.assets.json' not found. Run a NuGet package restore to generate this file. [/home/oscar/Tacho/card_reader/card_reader.csproj]
它两次给出或多或少相同的错误。
/snap/dotnet-sdk/107/sdk/5.0.102/Sdks/Microsoft.NET.Sdk/targets/Microsoft.PackageDependencyResolution.targets(241,5): error NETSDK1004: Assets file '/home/oscar/ Tacho/card_reader/obj/project.assets.json' not found. Run a NuGet package restore to generate this file. [/home/oscar/Tacho/card_reader/card_reader.csproj]
对于大多数阅读此错误的用户来说,这可能是一个简单的修复。但正如我所说,我在 Unity 环境之外的 Linux(或 Windows)上使用 C# 的经验为零。因此,任何解释和修复将不胜感激!
奥斯卡
解决了
我将工作代码复制到的目录中的某处有一个空格。我为这个问题删除了这个空间(以及它之前的所有内容),因为那里有我的老板不想看到的公司敏感信息最终出现在互联网上。由于空间(在 git repo 名称中),Linux 显然在执行命令时出错。感谢大家的帮助。
最佳答案
该错误似乎表明 NuGet 包缺少某些文件。 NuGet 是一种流行的库分发系统,它也内置在 Visual Studio 中。即使是一个空的存储库也可能将包作为依赖项引用,或者您自己的代码可能正在使用它。如果您使用的是 Visual Studio,则可以执行以下操作:
不过,您的公司可能正在使用私有(private) NuGet 服务器,因此您需要确保已连接到任何 VPN 服务。也不要羞于向同事询问这个问题。这可能是正确配置环境的一部分,而不是作为新实习生你应该“知道”的事情。
关于c# - 在 mv 到其他目录之后,Dotnet CLI 无法构建?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66006388/