我正在阅读“Pro C#2010和.NET 4平台”一书中的教程。在我根据第27章从MyXamlPad项目加载示例代码并尝试运行它之后,我从编译器收到错误,如下所示:
Error 1 The "GenerateResource" task failed unexpectedly.
System.DllNotFoundException: Unable to load DLL 'FileTracker.dll': A dynamic link library (DLL) initialization routine failed. (Exception from HRESULT: 0x8007045A)
at Microsoft.Build.Shared.NativeMethodsShared.InprocTracking.StartTrackingContextWithRoot(String intermediateDirectory, String taskName, String rootMarker)
at Microsoft.Build.Utilities.FileTracker.StartTrackingContextWithRoot(String intermediateDirectory, String taskName, String rootMarkerResponseFile)
at Microsoft.Build.Tasks.GenerateResource.Execute()
at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute()
at Microsoft.Build.BackEnd.TaskBuilder.ExecuteInstantiatedTask(ITaskExecutionHost taskExecutionHost, TaskLoggingContext taskLoggingContext, TaskHost taskHost, ItemBucket bucket, TaskExecutionMode howToExecuteTask, Boolean& taskResult) MyXamlPad
Reference:
http://www.apress.com/9781430225492
http://www.apress.com/downloadable/download/sample/sample_id/12/
我该怎么做才能解决这个问题?或者我只是无法在VS2010中运行WPF而必须使用MSBUILD。
谢谢
答案 0 :(得分:4)
确保在C:\ Windows \ Microsoft.NET \ Framework文件夹中只有一个v4.0 ***文件夹(如果不想删除,则可以重命名)。这应该可以解决问题。
如果您已经只拥有其中一个v4.0 ***文件夹,则可以尝试编辑该文件夹中的Microsoft.Common.targets文件并删除TrackFileAccess =“$(TrackFileAccess)”和TrackerLogDirectory =“$(TrackerLogDirectory) “来自GenerateResource节点的条目围绕1850行。
答案 1 :(得分:2)
我已在上面发表评论,我将在此答案中添加更多详细信息。
运行样本本身可能存在一些问题。默认情况下,VS 2010中的WPF项目使用的是.NET 4.0 Client Profile。所使用的示例在.NET版本中可能有所不同。
您是否尝试过重建解决方案?如果它仍然不起作用,请尝试手动将程序集引用添加到示例WPF项目。