14

** これは Visual Studio 2013 の問題です。

私が得ているエラーは大規模でほとんど役に立ちませんが、その核心は

Error   130 Fody: Could not load 'ModuleWeaver' from 'PropertyChanged.Fody, Version=1.50.3.0, Culture=neutral, PublicKeyToken=null' due to ReflectionTypeLoadException.
It is possible you need to update the package.
exception.LoaderExceptions:
System.IO.FileLoadException: Could not load file or assembly 'Mono.Cecil,     Version=0.9.6.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756' or one of its     dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
File name: 'Mono.Cecil, Version=0.9.6.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756'

繰り返しますが、変更がないため、一般的に何が問題なのかわかりません。探している DLL は、常に座っていたのと同じ場所に座っています。

編集:どうやらこの時点で、そのエラーを吐き出すのにうんざりしていたので、新しいエラーを作成しました

Error   42  The "Fody.WeavingTask" task failed unexpectedly.
System.IO.FileNotFoundException: Could not load file or assembly 'Mono.Cecil, Version=0.9.5.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756' or one of its dependencies. The system cannot find the file specified.
File name: 'Mono.Cecil, Version=0.9.5.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756'
   at ExceptionExtensions.LogException(ILogger logger, Exception exception)
   at Processor.Execute() in c:\TeamCity\buildAgent\work\7495521761d392b9\Fody\Processor.cs:line 56
   at Fody.WeavingTask.Execute() in c:\TeamCity\buildAgent\work\7495521761d392b9\Fody\WeavingTask.cs:line 44
   at     Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute()
   at Microsoft.Build.BackEnd.TaskBuilder.<ExecuteInstantiatedTask>d__20.MoveNext()

編集2:

また、50行目の「Fody.targets」内でエラーが発生しているとされています。

<Fody.WeavingTask
      AssemblyPath="@(IntermediateAssembly)"
      IntermediateDir="$(IntermediateDir)"
      KeyFilePath="$(FodyKeyFilePath)"
      ProjectDirectory="$(ProjectDir)"
      SolutionDir="$(FodySolutionDir)"
      References="@(ReferencePath)"
      SignAssembly="$(FodySignAssembly)"
      ReferenceCopyLocalPaths="@(ReferenceCopyLocalPaths)"
      DefineConstants="$(DefineConstants)"
  />

編集3:

Fody に関連付けられているすべてのファイルを削除し、Nuget はビルド プロセス中にそれらを再ダウンロードしました。その後のエラーは、2 番目のエラーと同じです。

"Error   42  The "Fody.WeavingTask" task failed unexpectedly." 

編集4:

これが修正されるまで完全に停止しているため、Fodyの開発者がこれを確認することを本当に願っています. 現在の構成は機能していたときのものであるため、機能していたときに「戻す」ことはできません。

4

6 に答える 6

1

このような問題をデバッグするには、SysInternals Process Monitorを使用できます。

一般的なアプローチは次のとおりです。

  1. プロセス モニターを実行する
  2. フィルターを適用して、アプリケーションのみを監視します
  3. 問題を再現する
  4. 欠落している DLL を探します。この部分は少しトリッキーなので、

    1. DLL が数回見つからない場合があります (「パスが見つかりません」)。
    2. しかし、最終的に発見される (「成功」)
    3. 探しているDLLではなく、そのDLLの依存関係である可能性があります

    したがって、見つからなかった DLL を見つける必要があります。また、見つからなかったが、その後の試行で見つかった DLL は必要ありません。

そのプロセスにはかなりの時間がかかる可能性があるため、ツールProcess Monitor Log Analyzerを開発しました。これにより、短時間で犯人を見つけることができるはずです。

  1. プロセス モニターを実行する
  2. フィルタを適用してアプリケーションのみを監視する
  3. 問題を再現する
  4. 結果を XML として保存します (「パスが見つかりません」と「成功」のすべての項目を保持します)。
  5. ログ アナライザーで XML を開く
  6. 上から順に、DLL の存在を確認します。このツールは、見つからない DLL のみを表示します。

免責事項: テキストから明らかでない場合、私はその無料ツールの作成者です。

于 2015-10-01T20:05:51.110 に答える