NetCFSvcUtil.exe提供错误:对象引用未设置为对象的实例

时间:2012-09-17 07:12:21

标签: .net wcf compact-framework wcf-client

  

可能重复:
  NetCFSvcUtil “Error: An error occurred in the tool.”

当我尝试使用该工具为wcf服务生成类时, 它给了我上面的错误。

我在某个地方找到了NetCFSvcUtil.exe的修复程序,但它无法解决我的问题。 我当前的版本是:3.5.9198.0是否有更新的版本?

有没有人遇到过这样的问题?

由于


控制台的输出:

Microsoft(R).NET Compact Framework服务模型元数据工具 [Microsoft(R)Windows(R)Communication Foundation,版本3.5.0.0] 版权所有(c)Microsoft Corporation。保留所有权利。

尝试使用WS-M从“http://10.1.0.168/FileTransfer”下载元数据 etadata Exchange或DISCO。 警告:.NET Compact Framework不支持找到“MessageHeaderAttribute” 在'RemoteFileInfo.Crc'上。客户代理将支持减少服务合同。

警告:.NET Compact Framework不支持找到“MessageHeaderAttribute” 在'RemoteFileInfo.FileName'上。客户端代理将支持减少服务控制 行为。

警告:.NET Compact Framework不支持找到“MessageHeaderAttribute” 在'RemoteFileInfo.Length'。客户端代理将支持减少服务合同 吨。

错误:工具发生错误。

错误:对象引用未设置为对象的实例。

合同:

namespace FileTransfer
{
  [ServiceContract(ConfigurationName = "IFileTransfer")]  
  public interface IFileTransfer
  {
    [OperationContract]
    RemoteFileInfo DownloadFile(DownloadRequest request);
  }

  [MessageContract]
  public class DownloadRequest
  {
    [MessageBodyMember]
    public Guid ID;

    [MessageBodyMember]
    public string App
  }

  [MessageContract]
  public class RemoteFileInfo : IDisposable
  {
    [MessageHeader(MustUnderstand = true)]
    public string FileName;

    [MessageHeader(MustUnderstand = true)]
    public long Length;

    [MessageHeader(MustUnderstand = true)]
    public int Crc;

    [MessageBodyMember(Order = 1)]
    public System.IO.Stream FileByteStream;

    public void Dispose()
    {
      if (FileByteStream != null)
      {
        FileByteStream.Close();
        FileByteStream = null;
      }
    }
  }
}

1 个答案:

答案 0 :(得分:0)

我没有或使用NetCFSvcUtil.exe,但我的猜测是你在项目中以某种方式引用或包含它。

请注意下面屏幕截图中的程序如何显示图标palm.ico NOT 在“属性”窗口中复制到设备:

screenshot

DO 希望将其包含在您的输出目录中。

这就是为什么你得到一个空参考例外:你的设备上没有对象。