我有一个引用.NET 4.0程序集的WPF/C#应用程序.但是,在应用程序中是一个文本编辑器,需要显示与.NET 3.5程序集绑定的C#intellisense.因此,我希望能够在运行时加载适当的.NET 3.5程序集.但是,当我尝试使用时:
Assembly.Load()
Assembly.LoadFile()
Assembly.LoadFrom()
Run Code Online (Sandbox Code Playgroud)
我总是从GAC获得最新版本.阅读他们的MSDN页面,看起来不幸的是设计.
我试着在这个堆栈溢出帖子中遵循提出的解决方案.但是,链接的网页解决方案不起作用,远程处理过程似乎有点矫枉过正.有没有人知道在运行时加载旧.NET程序集的更好和/或更简单的方法?
默认情况下,您无法在 .NET Framework 版本 4 上加载为早期版本的 .NET Framework 制作的程序集。
但是,有一个配置属性允许这样做:http://msdn.microsoft.com/en-us/library/bbx34a2h.aspx
将以下行放入您的 app.config 文件中:
<configuration>
<startup useLegacyV2RuntimeActivationPolicy="true|false" >
</startup>
</configuration>
Run Code Online (Sandbox Code Playgroud)
默认情况下此功能未激活是有原因的,但我相信它应该适合您的使用。
| 归档时间: |
|
| 查看次数: |
5022 次 |
| 最近记录: |