如何解决通过NuGet更新后OpenTK应用程序崩溃
通过NuGet安装新版本的OpenTK后,我们的Windows窗体应用程序崩溃。该应用程序的其余部分可以运行,但是使用OpenTK部件的表单在加载时只会使该应用程序崩溃。我们的应用程序中包含两个dll,即OpenTK.dll和OpenTK.GLControl.dll,到目前为止,它们已经使用了两个类似的版本。 NuGet提供更新,但是两个dll的版本不同:第一个为v3.2.0,第二个为v3.1.0,这也可能导致错误或需要将NuGet信息存储到.config.exe文件中。
在删除Application.config.exe(NuGet存储以下行)之后,我们才有此问题:
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="OpenTK" publicKeyToken="bad199fe84eb3df4" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-3.2.0.0" newVersion="3.2.0.0" />
</dependentAssembly>
</assemblyBinding>
我们希望不带.config.exe文件的情况下提供.exe,并想知道是否存在将此配置放入.exe文件的方法,使我们能够在可用时更新到新版本的OpenTK。
解决方法
构建项目时,Application.config.exe
由app.config
文件在输出文件夹下创建。它在运行时适用于应用程序。如果要运送不带.config.exe文件的.exe
,则可以将app.config
嵌入exe,然后在 bin 上删除默认的Application.config.exe
。文件夹。
1)将 App.config 的 Build Action 更改为Embedded Resource
。
2)删除bin
和obj
并重建您的项目以生成新的输出文件。
3),则可以使用已经嵌入app.config
文件的 application.exe 文件。
之后,您可以删除默认情况下VS从application.config.exe
生成的app.config
。并且它已经嵌入在applciation.exe
中。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。