rav*_*ven 18 c# reflection obsolete
我正在使用LoadWithPartialName()加载程序集,但VS告诉我它已过时并使用Load()代替.但是,我找不到任何方便的过载.
有一个Load(字符串)请求"全名",如果我理解正确的MSDN文档,包括版本号之类的东西.
还有一个Load(string,Evidence)接受"显示名称".问题是我没有丝毫知道"显示名称"是什么,因为我使用第一个功能的"部分名称"似乎不起作用.
那么,应该怎么做呢?
Cla*_*gon 10
以下文章解释了为什么它已经过时:http: //blogs.msdn.com/suzcook/archive/2003/05/30/57159.aspx.
底线是:使用Load并为其提供版本号.
这就是我所做的。我将“Microsoft.AnalysisServices”加载到 PowerShell 中作为示例。
C:\Windows\Microsoft.NET\assembly\GAC_32C:\Windows\Microsoft.NET\assembly\GAC_64C:\Windows\Microsoft.NET\assembly\GAC_MSILv4.0_15.0.0.0__89845dcd8080cc91现在您可以创建汇编字符串。
[System.Reflection.Assembly]::Load("Microsoft.AnalysisServices, Version=15.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91")
Run Code Online (Sandbox Code Playgroud)对于 .NET 程序集,Culture始终为neutral.