首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >每个.Net项目的不同目标C#框架

每个.Net项目的不同目标C#框架
EN

Stack Overflow用户
提问于 2011-06-06 13:29:02
回答 2查看 110关注 0票数 1

如果我使用X项目使用.net2.0,而X项目正在调用使用.net3.5的Y项目,可以吗?我在Y项目和im中使用X项目中的那个按钮定制了按钮,还有一个在Y项目中使用LINQ和X项目调用该方法的方法.我无法测试它,因为我安装了最新的.net框架。:)

这是我在具有.net3.5的项目中的代码

代码语言:javascript
复制
    [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语句。:)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-06-06 13:31:56

如果在执行此操作的机器上没有安装3.5框架,它将失败,因为System.Linq.dll将不存在。您可以将LINQBridge与LINQ2.0和LINQ3.0结合使用(这将使您能够访问LINQBridge的重新实现),但实际上,让客户端升级可能更容易。2.0现在已经很老了。

或者..。如果您所需要的只是一个where,那么有更简单的路线。例如:

代码语言:javascript
复制
foreach (String drives in Environment.GetLogicalDrives())
{
    if(!Enum.GetName(typeof(DriveType), GetDriveType(s))
        .Equals(DriveType.Removable))
    {
        continue;
    }
    MessageBox.Show(drives);
}
票数 3
EN

Stack Overflow用户

发布于 2011-06-06 13:31:03

.NET 2.0项目不能调用.NET 3.5项目中的方法。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6252724

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档