C# 在上层中找不到基本项目dll引用

C# 在上层中找不到基本项目dll引用,c#,visual-studio,C#,Visual Studio,在我当前的架构中,我有以下项目组织 名为“MyBaseProject”的类库以及引用MyBaseClassLibrary的不同web应用程序项目 在MyBaseProject中,我添加了一个第三方dll(Newtonsoft.Json) 现在,所有web项目都抛出异常“无法加载文件或程序集Newtonsoft.Json或其依赖项之一” 我不想在我的所有web项目中添加Newtonsoft.Json,我该怎么办?请参阅 这里最明显的行为是,您没有为项目设置输出目录,因此它们默认为自己的单独位置。因

在我当前的架构中,我有以下项目组织

名为“MyBaseProject”的类库以及引用MyBaseClassLibrary的不同web应用程序项目

在MyBaseProject中,我添加了一个第三方dll(Newtonsoft.Json)

现在,所有web项目都抛出异常“无法加载文件或程序集Newtonsoft.Json或其依赖项之一”

我不想在我的所有web项目中添加Newtonsoft.Json,我该怎么办?

请参阅

这里最明显的行为是,您没有为项目设置输出目录,因此它们默认为自己的单独位置。因此,虽然
MyBaseProject
引用并复制
Newtonsoft.Json
,但您的其他项目仅复制
MyBaseProject
。因此,与其他项目一起位于文件夹中的
MyBaseProject.dll
没有
Newtonsoft.Json
的副本,并且由于它不在GAC中,因此引用失败


最简单的解决方案是将所有项目输出到同一目录。我个人喜欢
$(SolutionDir)\bin\$(配置)\$(平台)
。这将确保当
MyBaseProject.dll
构建并携带其任何需求时,您的其他项目将能够通过同一文件夹获得这些需求,而不会发生意外。

实际上,目录输出已经设置好。我删除了MyBaseProject的引用并再次添加,它成功了。