gpt4 book ai didi

c# - CSharpCodeProvider 中的 Dll 引用仅在设置为 .NET 2.0 时才有效?

转载 作者:行者123 更新时间:2023-12-02 15:29:14 25 4
gpt4 key购买 nike

当我将 CSharpCodeProvider 类设置为使用 .NET 3.5 时,尝试加载某些引用的 DLL 时出错:

Line number 0, Error Number: CS0006, 'Metadata file 'System.Linq.dll' could not be found;
Line number 0, Error Number: CS0006, 'Metadata file 'System.Collections.dll' could not be found;

问题是,如果我将其设置为 2.0,它可以工作,但它不能使用 LINQ。

现在在其他线程中有解决方案说这是因为 DLL 不在正确的位置,并提供了解决方案,例如:

typeof(System.Xml.Linq.Extensions).Assembly.Location

要获取 Linq 位置的位置,但由于我的程序的工作方式,我不知道我可能需要加载哪些 DLL。对于外部库来说这不是问题,因为用户无论如何都需要输入它们的位置,但是对于系统 dll,我只需使用 "System.Linq" 即可获取它们的位置“系统.集合”

最佳答案

我不知道 System.Collections.dllSystem.Linq.dll。 LINQ 的大部分位于 System.Core.dll 中,集合位于 mscorlib 和 System.dll IIRC 中。您需要区分命名空间程序集。 (您可以使用 using 指令导入命名空间,并添加对项目内程序集的引用。)

您对哪些类(class)感兴趣?在 MSDN 中查找它们,看看它们位于哪些程序集中。

关于c# - CSharpCodeProvider 中的 Dll 引用仅在设置为 .NET 2.0 时才有效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10850302/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com