我有一个项目,其中我想使用一些.NET 4.0功能,但核心要求是我可以使用针对2.X编译的System.Data.SQLite框架.我看到提到这是可能的,例如这里接受的答案,但我不知道如何实际实现这一点.
当我在参考2.X程序集时尝试运行我的4.0项目时,我得到:
混合模式程序集是针对运行时的版本"v2.0.50727"构建的,如果没有其他配置信息,则无法在4.0运行时加载.
什么"附加配置"是必要的?
在将使用SlimDX并因此具有非托管代码的项目转换为.NET 4.0时,我遇到了以下错误:
混合模式程序集是针对运行时的版本"v2.0.50727"构建的,如果没有其他配置信息,则无法在4.0运行时加载.
谷歌搜索给了我解决方案,这是将其添加到应用程序配置:
<configuration>
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0"/>
</startup>
</configuration>
Run Code Online (Sandbox Code Playgroud)
我的问题是,做了useLegacyV2RuntimeActivationPolicy什么?我找不到任何关于它的文档.
我收到以下异常:
混合模式程序集是针对运行时的版本"v2.0.50727"构建的,如果没有其他配置信息,则无法在4.0运行时加载.
因为我试图从我的WPF程序导出水晶报告......
我已经在app.config中添加了以下内容......
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
</startup>
<runtime>
<NetFx40_LegacySecurityPolicy enabled="true"/>
</runtime>
Run Code Online (Sandbox Code Playgroud)
任何专家都可以帮忙????
参考资料我发现:http: //www.davidmoore.info/2010/12/17/running-net-2-runtime-applications-under-the-net-4-runtime
在做了一些代码重构之后,我的VS2010 VB.Net Web应用程序项目停止了编译,出现以下错误:
"混合模式程序集是针对运行时的版本'v1.1.4322'构建的,如果没有其他配置信息,则无法在4.0运行时加载."
在Visual Studio的"文件"列中,错误列表是单词"SGEN",但是当我双击时,该文件不存在("文档无法打开.它已被重命名,删除或移动.")我认为它与序列化有关,但是所需的附加配置信息是什么?我花了几个小时研究错误,每个人都说要将以下内容添加到app.config文件的配置选项卡中:
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
</startup>
Run Code Online (Sandbox Code Playgroud)
但是,我已将此添加到我可以找到或创建的每个配置文件中,到目前为止它没有帮助.
我怀疑部分问题可能是Crystal Reports,其DLL实际上是针对dot net的v1.1.4322构建的.
我应该在哪个配置文件中添加legacyRuntime配置?这甚至是正确的解决方案吗?
在命令行执行中运行可执行文件后出现此异常:
"混合模式程序集是根据运行时版本'v2.0.50727'构建的,如果没有其他配置信息,则无法在4.0运行时加载."
在互联网上搜索此问题后,我发现其中一条出路是配置App.Config文件.这在VS2010中工作正常,但仍然在命令模式下生成相同的错误.
那么有没有办法通过使用命令行来解决这个问题,因为生成.dll的更新版本是不可能的.
谢谢!
.net ×3
.net-4.0 ×3
c# ×2
ado.net ×1
app-config ×1
assemblies ×1
command-line ×1
mixed-mode ×1
runtime ×1
sgen ×1
sqlite ×1
version ×1