我正在使用Visual Studio 2015 Update 3,我使用的是.NET Core,我有三个类库。这是我的类库:
我的问题是当我构建我的解决方案时,似乎ClassLibrary1无法找到Redis的dll,因为dll被放置在解决方案目录中的工件文件夹中。
如果我检查构建输出,它会说:
C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\DotNet\Microsoft.DotNet.Common.Targets(262,5)
error : C:\Caching-1.0.0\src\ClassLibrary1\error CS0006:
Metadata file 'C:\Caching1.0.0\src\Microsoft.Extensions.Caching.Redis\bin\Debug\netstandard1.5\Microsoft.Extensions.Caching.Redis.dll'
could not be found
第262行:Microsoft.DotNet.Common.Targets
似乎dll已构建并放置在项目解决方案的artifacts文件夹目录中。该项目的File System Struture是:
Cahing项目中没有任何bin文件夹,我如何更改它以在相应的项目中生成垃圾箱?
答案 0 :(得分:5)
我检查了 xproj 文件中的缓存项目,它包含构建信息,它将输出重定向到工件文件夹:
<BaseIntermediateOutputPath Condition="'$(BaseIntermediateOutputPath)'=='' ">..\..\artifacts\obj\$(MSBuildProjectName)</BaseIntermediateOutputPath>
<OutputPath Condition="'$(OutputPath)'=='' ">..\..\artifacts\bin\</OutputPath>
我将它们都改为指向项目文件夹目录
BaseIntermediateOutputPath - &gt; .\obj\$(MSBuildProjectName)
OutputPath - &gt; .\bin\
然后,classLibrary1现在可以找到所需的引用dll。