有人知道如何解决这种行为吗?
我已经创建了针对4.6.0的简单应用程序(以重新测试它是否可以与任何.net应用程序重现),并在具有4.5.2(或4.5.0)框架的Windows 7和Windows 8.1(vms)上运行它最新安装。 问题是启动应用程序时没有错误或警告显示(您可以看到这样的过程,但是稍后该过程消失了)。如果您在框架3.5上运行相同的应用,则会看到下一个标准警告:。抱歉,这是法语iso,但是我应该清楚什么意思。
如果缺少必需的框架,我需要向用户显示一些警告,因为我们将框架重新定位为最新。
app.config包含下一行:
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6" />
更新: 这只是简单的应用程序4.6.0的示例,我将其用作警告测试。应用使用System.Reactive中的Subject,目标是4.6.0
MainWindow.xaml.cs:
public partial class MainWindow : Window
{
private Subject<int> sbj = new Subject<int>();
public MainWindow()
{
InitializeComponent();
Task.Delay(100).ContinueWith(_=>test());
sbj.ObserveOnDispatcher().Subscribe(onNext);
}
private void onNext(int v)
{
this.myBox.Text =v.ToString();
}
private void test()
{
foreach (var i in Enumerable.Range(0, 100))
{
sbj.OnNext(i);
Thread.Sleep(500);
}
}
}
答案 0 :(得分:0)
您的应用程序在尝试使用显式绑定到4.6版的方法或类之前不会失败。
如果希望它尽早失败,只需检查应用程序启动时安装的.net Framework版本。有关如何操作,请参见此问题。
How can I find the version of .NET run-time programmatically?