无法创建库并链接到控制台应用程序

我正在使用 vs 代码在我的 linux 机器上编写一些 c# 代码。我创建了一个初始控制台应用程序,现在我想将它的一部分移到一个库中。


所以我创建了一个多文件夹工作区,并将我的原始目录和库的新目录添加到其中。


cd 到 lib 目录并运行dotnet new classlib命令这创建了一个标准库:


<Project Sdk="Microsoft.NET.Sdk">    

  <PropertyGroup>

    <TargetFramework>netstandard2.0</TargetFramework>

  </PropertyGroup>    

</Project>

F5 仍然构建原始版本,我可以 cd 到 lib 目录并构建它而没有错误。


现在我在库中移动了我想要的文件,并且(令人惊讶的是)上面提到的构建仍然有效。然后我更改库中的命名空间并将控制台应用程序的引用添加到库中


dotnet add reference ../<name>/<name>csproj


现在无论我构建哪个,我都会收到以下错误:


 Restore completed in 24.06 ms for <project name>.

/usr/share/dotnet/sdk/2.1.302/Sdks/Microsoft.NET.Sdk/targets/Microsoft.PackageDependencyResolution.targets(198,5): error : Assets file '<path to obj>project.assets.json' not found. Run a NuGet package restore to generate this file. [<path to project>.csproj]


Build FAILED.


/usr/share/dotnet/sdk/2.1.302/Sdks/Microsoft.NET.Sdk/targets/Microsoft.PackageDependencyResolution.targets(198,5): error : Assets file '<path to lib>/obj/project.assets.json' not found. Run a NuGet package restore to generate this file. [<path to project>.csproj]

    0 Warning(s)

    1 Error(s)


Time Elapsed 00:00:00.65

我在两个目录中都运行了 dotnet restore ,但仍然出现错误。不知道我在这里有什么问题,我已经看到了一些创建 sln 文件的示例。这是必需的吗?如果不是,我该如何解决?


拉丁的传说
浏览 55回答 1
1回答

慕娘9325324

事实证明,我在 bin 目录层次结构中有一个 obj 目录,它妨碍了构建。我删除了所有 bin 和 obj 目录并重新构建。没有错误。
打开App,查看更多内容
随时随地看视频慕课网APP