PostSharp 2.1.6(NuGet)构建错误

时间:2012-05-08 12:51:23

标签: postsharp

我正在为一个新项目评估PostSharp,但是当我第一次在更改后构建项目时似乎无法解决以下错误:

  

无法将文件“C:\ SourcePath \ Output \ Debug \ MyApp.vshost.exe”复制到   obj \ Debug \ Before-PostSharp \ MyApp.vshost.exe:文件被锁定   过程:MYAPP.VSHOST(8064)

错误仅发生在第一次构建尝试中。如果我立即重新构建,则不会发生错误。我只能猜测这是因为项目实际上并没有第二次重建。

我已经阅读了SharpCrafters论坛中的一些帖子,这些帖子表明在v2.1之前存在这个问题,但据报道已修复。我正在使用NuGet的v2.1.6.14(在VS 2010中)并且为每个参考PostSharp的项目获取此错误。每次要求2个构建当然是不合理的,所以我正在寻找可能的解决方案。我对我到目前为止看到的内容感到非常满意,但如果无法解决,我将不得不采取另一个方向。

更新

Per Gael的请求,我生成了诊断构建日志并将其发送给他,看起来他能够在最新版本(2.1.6.14)中解决问题。

我认为部分(或全部)问题可能是由于我所有项目的构建输出都设置为公共位置(即不是每个项目下的/ bin / debug文件夹)。这是因为我们使用的是MEF DirectoryCatalog,它将发现输出路径中的程序集中包含的Imports和Exports。 PostSharp.targets文件具有从复制操作中排除的vshost.exe文件,但仅当它共享输出程序集的名称时。就我而言,vshost.exe文件具有不同的名称,因此不会被排除。

1 个答案:

答案 0 :(得分:0)

问题已在PostSharp 2.1.6.15中重新修复。