【问题标题】:visual studio 2012 .net 4 created application requires .net 45visual studio 2012 .net 4 创建的应用程序需要 .net 45
【发布时间】:2013-08-06 13:33:35
【问题描述】:

我创建了一个WPF 应用程序,使用在Windows 8 上运行的Visual Studio 2012.NET 4 为目标。但是,当我尝试在另一台运行 Windows 7 的机器上运行该应用程序时,该应用程序无法启动。目标机器已安装.NET 4,但应用程序无法在其上运行。但是当我在目标机器上安装.NET 4.5 时,它可以工作。我检查了整个解决方案,对.NET 4.5 没有任何依赖。这怎么可能?有什么想法吗?

更新:我正在使用这些包:

  1. Autofac.3.0.2
  2. Autofac.WebApi.3.0.2
  3. Caliburn.Micro.1.5.1
  4. Caliburn.Micro.Autofac.1.5.0
  5. EntityFramework.6.0.0-alpha3
  6. gong-wpf-dragdrop.0.1.3.8
  7. Microsoft.AspNet.WebApi.Client.4.0.30506.0
  8. Microsoft.AspNet.WebApi.Core.4.0.20710.0
  9. Microsoft.AspNet.WebApi.SelfHost.4.0.20918.0
  10. Microsoft.Net.Http.2.0.20710.0
  11. Newtonsoft.Json.5.0.6
  12. System.Windows.Interactivity.WPF.2.0.20525

虽然他们都针对package.config 文件中的.NET 4,但其中一个是否有可能使用某些.NET 4.5 功能?

【问题讨论】:

  • 正确使用 ILMerge 可能会导致此问题。 “Cannot run on it”不是错误信息,你需要引用真实的。
  • .Net 4.5 一旦安装在机器上就会替换 .Net 4.0。您可能需要参考此 SO 答案 stackoverflow.com/a/10492919/804797 以查看差异和任何可能的重大更改

标签: wpf visual-studio-2012 .net-4.0 .net-4.5 wpf-4.0


【解决方案1】:

请确保没有引用程序集以 4.5 框架为目标或代码包含对 4.5 框架的引用。那么它应该可以工作

【讨论】:

    【解决方案2】:

    终于,我找到了问题所在。我正在通过(Any CPU) 配置编译项目。当我将其更改为x86 时,问题就解决了。

    【讨论】:

      猜你喜欢
      • 2013-02-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-11
      • 2023-01-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多