无法使用Postsharp 4.1.14构建项目

时间:2015-06-09 12:34:02

标签: c# .net msbuild nuget postsharp

我有一个项目引用了postharp 4.1.14。当我构建项目时,发生了错误。 Postsharp由nuget包安装。计算机上安装了.net 4.0版,但Microsoft.Build.Utilities.ToolLocationHelper.GetPlatformSDKLocation方法来自.net 4.5。我可以使用不同版本的postharp吗?还有其他方法可以解决我的问题吗?

错误1“PostSharp30GetInstalledFrameworks”任务意外失败。 System.MissingMethodException:找不到方法:'System.String Microsoft.Build.Utilities.ToolLocationHelper.GetPlatformSDKLocation(System.String,System.Version)'。    在PostSharp.MSBuild.PostSharp30GetInstalledFrameworks.b__5(&lt;&gt; f__AnonymousType0 2 <>h__TransparentIdentifier0) at System.Linq.Enumerable.<>c__DisplayClass12 3.b__11(TSource x)    在System.Linq.Enumerable。&lt;&gt; c__DisplayClass12 3.<CombineSelectors>b__11(TSource x) at System.Linq.Enumerable.<>c__DisplayClass12 3.b__11(TSource x)    在System.Linq.Enumerable.WhereSelectEnumerableIterator 2.MoveNext() at System.Linq.Enumerable.WhereSelectEnumerableIterator 2.MoveNext()    在System.Xml.Linq.XContainer.AddContentSkipNotify(对象内容)    在PostSharp.MSBuild.PostSharp30GetInstalledFrameworks.Execute()    在Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute()    在Microsoft.Build.BackEnd.TaskBuilder.ExecuteInstantiatedTask(ITaskExecutionHost taskExecutionHost,TaskLoggingContext taskLoggingContext,TaskHost taskHost,ItemBucket bucket,TaskExecutionMode howToExecuteTask,Boolean&amp; taskResult)ConsoleApplication1

1 个答案:

答案 0 :(得分:1)

PostSharp 4.x至少要求在开发计算机或构建服务器(http://doc.postsharp.net/requirements)上安装Visual Studio 2012和.NET Framework 4.5。您的项目仍然可以定位.NET 4.0,仅在构建时需要.NET 4.5。

如果您只安装了旧版本的VS和.NET,那么您可以使用PostSharp 3.x,它仍然受支持并适用于VS 2010和.NET 4.0。