2

HttpWebRequest をシムしようとすると問題が発生します。システム アセンブリのフェイク アセンブリを追加しただけでは、すぐには機能しません。ただし、fakes ファイルを変更して特定の名前空間を追加すると、機能します。

<Fakes xmlns="http://schemas.microsoft.com/fakes/2011/">
  <Assembly Name="System" Version="4.0.0.0"/>
  <ShimGeneration>
    <Clear/>
    <Add FullName="System.Net.WebRequest!"/>
    <Add FullName="System.Net.HttpWebRequest!"/>
    <Add FullName="System.Net.HttpWebResponse!"/>
  </ShimGeneration>
</Fakes>

問題は、これがローカルでしか機能しないことです。Team Foundation Server の自動ビルドは、ShimHttpWebRequest を解決しようとするとエラーをスローします。ビルドサーバーでVSを使用して手動でビルドすると機能するため、自動ビルドはフェイクファイルを無視するようです。

4

2 に答える 2