Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 是什么导致Guid在赋值时更改值?_C#_.net - Fatal编程技术网

C# 是什么导致Guid在赋值时更改值?

C# 是什么导致Guid在赋值时更改值?,c#,.net,C#,.net,我在vs2010中有一个包含3个项目的解决方案- 业务对象, 应用程序编程接口, 网络应用 使用原始ADO从SQLServer填充业务对象,并使用CSLA跨各个层序列化。Web应用程序和API都有对业务对象的项目引用 一个特定的业务对象包含Guid,从ADO填充到私有字段,并通过公共getter ie只读访问。当我通过web应用程序使用它时,它工作正常;当我通过api访问它并尝试使用它做任何事情时,它总是填充值00000000-0260-0251-6002-5102000000 调试服务调用显示

我在vs2010中有一个包含3个项目的解决方案- 业务对象, 应用程序编程接口, 网络应用

使用原始ADO从SQLServer填充业务对象,并使用CSLA跨各个层序列化。Web应用程序和API都有对业务对象的项目引用

一个特定的业务对象包含Guid,从ADO填充到私有字段,并通过公共getter ie只读访问。当我通过web应用程序使用它时,它工作正常;当我通过api访问它并尝试使用它做任何事情时,它总是填充值
00000000-0260-0251-6002-5102000000

调试服务调用显示属性正确填充了我期望从db获得的值(将鼠标悬停在属性上,使用即时窗口、quickwatch等)但是,如果我尝试将此guid分配给另一个变量或将其作为参数传递给另一个方法,则传递的或分配的值总是变成
00000000-0260-0251-6002-5102000000

业务对象上的每个其他guid(有很多)都可以正常工作,它们都以相同的方式检索和访问。无论我加载哪个对象,甚至连我连接到哪个数据库,这个总线对象上的这个属性总是指定这个值

这是在Dev&Debug模式下,调试器不会感到困惑。我甚至在我们的TFS构建服务器上构建了它,并在单独的应用服务器上部署了生成的API dll。同样的结果,所以这与专门在我的开发机器上构建或运行没有任何关系

我在各种Guid构造函数中对字符串和字节数组进行了分析。同样的结果。我已经进入了MSIL,分配guid的调用看起来和其他分配guid的调用一样。没什么不寻常的。从db调试业务对象负载看起来很好,正如我所说,在我尝试使用它之前,它的值是我所期望的。该属性尽可能简单-字面上只是一个返回的私有字段,没有特殊处理或任何东西。它可以通过web应用程序正常工作,并且它们指向同一个dll

谷歌搜索“
00000000-0260-0251-6002-51020000000
”不会产生任何结果——它似乎没有任何特殊意义

我对此束手无策,想不出更多的选择来探索。任何人都能想到这里会发生什么,或者
00000000-0260-0251-6002-51020000000
对任何人都意味着什么吗?

你能添加一个再现问题的最小代码示例吗?