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>

问题是这只适用于本地。尝试解析 ShimHttpWebRequest 时,Team Foundation Server 上的自动构建会引发错误。看起来自动构建忽略了假文件,因为当我在构建服务器上使用 VS 手动构建它时,它可以工作。

4

2 回答 2

0

转到程序集参考并添加 System.Net 假程序集。双击 System.Net.Fake 文件并在 System.Net.Fake 文件中添加以下条目

<Fakes xmlns="http://schemas.microsoft.com/fakes/2011/" Diagnostic="true">
<Assembly Name="System" Version="4.0.0.0"/>
<StubGeneration>
  <Clear/>
</StubGeneration>
<ShimGeneration>
   <Clear/>
   <Add FullName="System!"/>
   <Add FullName="System.Net!"/>
   <Add FullName="System.Net.WebRequest!"/>
   <Add FullName="System.Net.HttpWebRequest!"/>
   <Add FullName="System.Net.HttpWebResponse!"/>
 </ShimGeneration>
 </Fakes>
于 2016-02-27T14:55:25.750 回答
-1

我有同样的问题。尝试提交到项目主目录中的 build-server 目录“FakesAssemblies”。

于 2014-11-12T15:54:31.220 回答