1

可能重复:
NetCFSvcUtil “错误:工具中发生错误。”

当我尝试使用该工具为 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-Metadata Exchange 或 DISCO从“ http://10.1.0.168/FileTransfer ”下载元数据。警告:.NET Compact Framework 不支持在“RemoteFileInfo.Crc”上找到的“MessageHeaderAttribute”。客户端代理将支持减少的服务合同。

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

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

错误:工具中发生错误。

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

合同:

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;
      }
    }
  }
}
4

1 回答 1

0

我没有也没有使用NetCFSvcUtil.exe,但我猜你在你的项目中引用或包含了它。

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

截屏

确实希望将其包含在输出目录中。

这就是您收到空引用异常的原因:该对象不在您的设备上。

于 2012-09-17T21:31:47.917 回答