2010-04-28 41 views
2

我有一个解决方案与多个类库。 当我编译每个单独的库(和自己的网站) 编译总是成功。 但是,当我编译整个解决方案时,库 引用失败,并且在 失败的库旁边有一个小小的黄色感叹号。在错误名单上有:编译多项目解决方案后损坏的健康DLL引用

元数据文件中的类型或命名空间名称“DLL名称” 找不到(?using指令或程序集 引用是否缺少 ) “C :\项目\项目\干线\源\核心\ BIN \调试\ Company.ProjectCore.dll” 找不到

是什么奇怪的是,我第二次编译(此消息后直接)我解决方案编译成功年。所以,编译一次 - 失败。编译两次 - 成功。

有人可以建议我要做什么来解决这个问题吗?

在此先感谢。

+0

您可能希望包含任何错误消息或警告消息... – 2010-04-28 16:29:57

+0

谢谢约翰。错误列表添加到我原来的帖子。 – 2010-04-28 17:24:48

回答

0

如何将它添加到项目中:通过从Debug文件夹中定位dll或使用Add reference/Projects? 当yuo在编译时使用有针对性的dll和自动增量版本时,引用可能因错误的编译顺序而被破坏(代码之后的dll版本增量,使用它)。但我可能是错的。 可能它是一个奇怪的VS错误。

+0

我不认为这是一个错误,虽然行为很奇怪。我从参考文件夹中“添加为参考”,因此它针对的是与解决方案文件夹不同的目录路径中的二进制文件目录。但是,我在属性列表中有“Copy As Local = True”,因此该DLL位于本地调试路径中。 – 2010-04-28 17:27:42

+0

嗯...它只是发生在我的,我可能需要给我的二进制文件夹的ASP.NET权限......我要检查一下,看看是否是我的问题... – 2010-04-28 17:30:16

+0

不,那不是... – 2010-04-28 18:09:06

0

好的,这是一个权限问题。

我的解决方案文件夹是我的二进制文件夹的兄弟文件夹。 我正在引用我的DLL,并指示“复制到本地” ,以便它们在编译时显示在我的Debug文件夹中。但是,似乎 我忘记为 给我的问题的DLL设置适当的权限,而当我编译我的 时,ASP.NET无法访问它 - 因此是黄色的感叹号。我不是 为什么我可以第二次编译(即使“复制到 本地”将它放在本地调试文件夹允许第二次编译 ,为什么会发生这种情况,如果 权限是反对允许访问DLL的原始位置 ?)。

无论如何,感谢您的帮助

0

我原以为这是一个构建顺序问题。

例如,该网站正在尝试首先构建,并且由于尚未构建,因此无法找到该DLL。

相关问题