我正在将Windows CE / CF解决方案(exe和类库/ DLL)从Visual Studio 2003 / .NET 1.1移植到Visual Studio 2008 / .NET 3.5
这里的最后一行代码:
private bool ConnectToServer( ref Util.thisEnv tEnv )
{
bool bRet = false;
Util.CloseAll();
do
{
Thread.Sleep( 100 );
} while( Util.dW_Running );
try
{
tEnv.siteNumber = siteNumber;
tEnv.opFlag = 0;
tEnv.pptStream = null;
...抛出编译时错误,即:
类型'System.Net.Sockets.NetworkStream'在未引用的程序集中定义。您必须添加对程序集'System,Version = 2.0.0.0
的引用但我是在此项目中引用该版本的系统程序集。
运行时版本和版本都是2.0.0.0 路径是C:\ Program Files(x86)\ Microsoft.NET \ SDK \ CompactFramework \ v2.0 \ WindowsCE \ System.dll
其他项目(类库/ DLL)也引用了System,稍有不同,运行时版本是v2.0.50727,Path是C:\ Windows \ Microsoft.NET \框架\ V2.0.50727 \ System.dll中
“cousing”项目之间系统程序集的不匹配是否是此问题的根源?它似乎不是这样,但我不知道为什么这个看似错误的错误正在出现...... ???
答案 0 :(得分:1)
这不仅仅是一个“轻微”的差异。一个参考是Compact Framework参考,另一个是桌面参考。必须删除对“C:\ Windows \ Microsoft.NET \ Framework \ v2.0.50727 \ System.dll”的引用,否则它将尝试将完整框架推送到您的设备并赢得“无论如何都要跑。