我将此作为类似问题的答案发布,但没有得到回应,所以在这里试试运气。
我们有一个 PostSharp 1.5 运行良好的 .net 2.0 程序集。我们已获准升级到使用 VS2012。
该项目已由 VS2012 自动转换,但出现错误。我已经确保在所有项目中都以 .net 3.5 为目标,但我仍然得到
Error 27 Unhandled exception: PostSharp.CodeModel.BindingException: Cannot find the type 'System.Func`2' in assembly 'System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.
at PostSharp.CodeModel.AssemblyEnvelope.GetTypeDefinition(String typeName, BindingOptions bindingOptions)
at PostSharp.CodeModel.Domain.FindTypeDefinition(String assemblyQualifiedTypeName, BindingOptions bindingOptions)
at PostSharp.CodeModel.TypeRefDeclaration.GetTypeDefinition(BindingOptions bindingOptions)
at PostSharp.CodeModel.TypeSpecDeclaration.GetTypeDefinition(BindingOptions bindingOptions)
at PostSharp.Extensibility.Tasks.IndexGenericInstancesTask.Execute()
at PostSharp.Extensibility.Project.ExecutePhase(String phase)
at PostSharp.Extensibility.Project.Execute()
at PostSharp.Extensibility.PostSharpObject.ExecuteProjects()
at PostSharp.Extensibility.PostSharpObject.InvokeProject(ProjectInvocation projectInvocation)
at PostSharp.MSBuild.PostSharpRemoteTask.Execute(PostSharpTaskParameters parameters, TaskLoggingHelper log)
我检查了对 System.Core 的引用,它肯定指向版本 3.5.0.0,所以上面的 4.0.0.0 引用也让我有些困惑。
我读过 PostSharp 1.5 在针对 3.5 和 4.0 的 VS 2010 中运行良好。但是有些人不得不在项目文件等中做一些魔法黑客。
有没有人如上所述设置环境?(.net 3.5、VS2012 和 PostSharp 1.5)
我已经在寻找替代方案,并且 PostSharp 2.0 的社区版本看起来像是要走的路。但与此同时,这可以在当前环境下完成吗?黑客需要什么?
干杯
果酱
更新:这里的一个人认为这可以通过破解 MSBuild 工具集来实现。任何人都可以解释一下吗?
更新:在下面添加属性组代码部分后,VS 2012 给了我这个:
Error 26 The PostSharp build step failed (exit code 9009). See previous errors or the build log for details. Connectivity.Service.Client.Acl –