使用构建操作:无和输出目录装配在装箱中:不要复制

时间:2015-04-09 18:14:34

标签: visual-studio msbuild

问题在于装配属性。

Build Action:                None
Copy to Output Directory:    Do not copy

奇怪的是,这些设置仍然将组件放在垃圾箱中。我已经阅读了这个问题的答案:What are the various "Build action" settings in Visual Studio project properties and what do they do?看起来这些不应该落在垃圾箱里。

  • 为什么这些会落在垃圾箱里?
  • 这些设置的预期行为是什么?
  • 如果不是预期的行为,那么哪种设置更合适?

场景:我们正在将带有实体框架的SQL Server CE部署到Windows Azure Web App。

运行Install-Package EntityFramework.SqlServerCompact后,我们的csproj现在有一个_bin_deployableAssemblies目录。该目录包含Azure Web App所需的一组程序集(如果安装了SQL Server CE,我们在本地不需要它们。)

当我们构建csproj时,所有这些程序集最终都在bin中。这一切都很好。

图片

装配属性

enter image description here

构建结果

enter image description here

1 个答案:

答案 0 :(得分:0)

我可能错了,但我认为如果MSBuild检测到对该dll的依赖性,它将把它包含在输出中而不管该设置如何,所以如果你 中的一个复制到输出文件夹有这样的依赖你也会得到这个。检查构建消息“包括blahblah.dll ......”(确切的措辞现在让我逃避)。

也许你可以在项目的参考图书馆中列出它?

FWIW,我们使用构建后步骤来处理这样的事情。