0

Visual Studio 无法使用以下错误消息构建解决方案“S1”:

错误 8:未找到引用的程序集“D:\S0\foo\bin\Debug\foo.dll”。如果此程序集是由您的另一个项目生成的,请确保在构建该项目之前构建该项目。

引用的 foo 项目实际上最初是不同解决方案的一部分(在错误消息中称为 S0),并通过“添加现有项目”包含在内。

但是,Foo 确实在 S0 中构建良好,并且它的 bin 输出存在。由于 S0 和 S1 都是专门为 x86 构建的,因此正确的路径应该是“S0\foo\bin \x86 \Debug\foo.dll”,因此 Visual Studio 似乎没有在正确的位置查找二进制文件。

Foo 确实在 S1 中显示了缺失的引用,这可能是由于它引用了 S0 中未包含在 S1 中的其他项目。但这应该不是问题,因为所需的二进制文件已经存在。

我手动将文件从 'bin\x86\Debug' 复制到 'bin\Debug',虽然没有删除有关缺少引用的警告,但这实际上使 VS build S1 很好,所以显然 Visual Studio 实际上被“不寻常”弄糊涂了bin\x86\debug' 路径。

我应该如何解决这个问题?

4

3 回答 3

1

您的构建输出位置是可定制的。x86如果项目存在其他平台配置,我相信标准的 VS 行为是创建文件夹。

这不是 Visual Studio 错误。听起来(尽管该项目在解决方案中)您有一个使用不正确路径创建的二进制引用。

于 2012-08-30T18:29:57.283 回答
0

现在我正在使用一种解决方法。通过手动将 S0 中的输出路径更改为“通常”(bin\Debug),x86 bin 文件被放置在 VS 正在查找的位置,随后允许构建 S1。不过,这似乎偏离了最佳实践,所以我不认为这是一个长期的解决方案。

从我的角度来看,缺少在 x86 子文件夹中搜索 bin 文件是 Visual Studio 中的一个干净错误,因为 S0 和 S1 都专门为 x86 构建。

于 2012-08-29T13:36:05.380 回答
0

我是这样修的。删除给出错误的项目并再次添加它们并构建它。

于 2016-01-07T19:43:22.080 回答