如果我使用X项目使用.net2.0,而X项目正在调用使用.net3.5的Y项目,可以吗?我在Y项目和im中使用X项目中的那个按钮定制了按钮,还有一个在Y项目中使用LINQ和X项目调用该方法的方法.我无法测试它,因为我安装了最新的.net框架。:)
这是我在具有.net3.5的项目中的代码
[DllImport("kernel32.dll", CharSet = CharSet.Auto)]
public static extern int GetDriveType(string lpRootPathName);
public enum DriveType : int
{
Unknown = 0,
NoRoot = 1,
Removable = 2,
Localdisk = 3,
Network = 4,
CD = 5,
RAMDrive = 6
}
var selectedDrives = from s in Environment.GetLogicalDrives() where Enum.GetName(typeof(DriveType), GetDriveType(s)).Equals(DriveType.Removable) select s;
foreach (String drives in selectedDrives)
{
MessageBox.Show(drives);
}如果我做错了,也要更正LINQ语句。:)
发布于 2011-06-06 13:31:56
如果在执行此操作的机器上没有安装3.5框架,它将失败,因为System.Linq.dll将不存在。您可以将LINQBridge与LINQ2.0和LINQ3.0结合使用(这将使您能够访问LINQBridge的重新实现),但实际上,让客户端升级可能更容易。2.0现在已经很老了。
或者..。如果您所需要的只是一个where,那么有更简单的路线。例如:
foreach (String drives in Environment.GetLogicalDrives())
{
if(!Enum.GetName(typeof(DriveType), GetDriveType(s))
.Equals(DriveType.Removable))
{
continue;
}
MessageBox.Show(drives);
}发布于 2011-06-06 13:31:03
.NET 2.0项目不能调用.NET 3.5项目中的方法。
https://stackoverflow.com/questions/6252724
复制相似问题