我的hudson CI服务器上有postharp的问题。每当我尝试使用特定版本签署dll时,都会发生错误。 (Hudson正在使用cmd中的MSBuild来构建这个项目,将其构建为x86):
POSTSHARP:postsharp error PS0099:未处理的异常(2.0.8.1275,32位,CLR 4.0,发布):PostSharp.Sdk.CodeModel.AssemblyLoadException:加载程序集时出错“MyProject.general, version = 1.0。 5378.169 ,culture = neutral,publickeytoken = 4c1c78190569e723“:找不到名为MyProject.General, Version = 1.0.5378.169 ,Culture = neutral,PublicKeyToken = 4c1c78190569e723'的程序集。 [C:\ HudsonHome \ jobs \ test \ workspace \ WCF \ MyProject \ MyProject.project.WCF.Service.csproj]
(粗体文字是当前版本)
此外,所有csproj文件都被更改,添加了一个before build动作,将旧版本替换为实际版本。
<Target Name="BeforeBuild">
<FileUpdate Condition="'$(CCNetLabel)' != ''" Files="Properties\AssemblyInfo.cs" Regex=" (\d+)[.](\d+)[.](\d+)[.](\d+)" ReplacementText="$(CCNetLabel)" />
</Target>
CCNetLabel是一个环境变量,Hudson在构建之前每次都会更改。 据我所知,post sharp正在寻找当前版本的dll,但它并不存在。而且我不确定为什么,在我的项目旧的CI服务器上一切正常。 关于此事的任何指示,我将不胜感激