2011-10-04 61 views
9

我有一个已迁移到Azure Web Role的MVC3项目,它工作正常。但有一两件事是真的窃听我:当我发布/包的项目部署我得到这个错误:部署Azure项目时的依赖警告(WAT150)

Warning WAT150: The project '' is dependent on the following assembly C:\Program Files (x86)\Microsoft SQL Server Compact Edition\v4.0\Desktop\System.Data.SqlServerCe.dll. This assembly is not in the package. To make sure that the role starts, add this assembly as a reference to the project and set the Copy Local property to true.

所有我能找到在谷歌是如何添加的依赖。然而,我删除了它,并且我无法找到这个依赖关系正在被拾取的位置。它不会引起任何问题,除了像黑板上的指甲一样刺痛我的神经。如果有人能指出我朝着正确的方向,我将不胜感激。

回答

5

尝试重建MSBuild设置为“正常”或更高级别的Azure部署项目。这应显示哪些引用无法解析。

在Visual Studio中,选择工具|选项,然后项目和解决方案/构建和运行。将“MSBuild项目生成输出详细程度”设置为至少Normal。

这应该通过从MSBuild创建更多的跟踪输出来帮助您,并帮助您查看丢失的引用正在拾取的位置。

+5

我最终将其设置为诊断级别,它看起来像是Elmah所要求的。有趣的是Elmah也引用了Sqlite,但我没有得到警告。但是因为我使用Elmah,所以我想除非我想尝试别的东西,否则我没有太多选择。 –

+0

多么乏味;希望Elmah的指甲很快恢复! –

6

对于将来访问者寻找WAT150错误的解决方案,它们依赖于程序集,我发现我的警告是由设置为Copy local = true的程序集引用引起的,如果该DLL在GAC中,实际上不会将DLL复制到bin文件夹。详细了解它herehere。从GAC中删除DLL解决了问题

+1

有同样的问题。太糟糕了Visual Studio不尊重这种情况下的提示路径。太糟糕了,“Copy local = true”不是传递式的。 –