【问题标题】:How to change asp.net 5 app targeted framework version in Visual Studio 2015?如何在 Visual Studio 2015 中更改 asp.net 5 app 目标框架版本?
【发布时间】:2015-03-27 02:46:43
【问题描述】:

我找不到该 asp.net 应用程序的属性。项目属性只有几个属性,而不是目标框架。我已经花了 1 个小时试图找到它......请帮忙。 谢谢

【问题讨论】:

  • 看看你的 project.json 文件。它应该列出目标框架。
  • @mason,谢谢。这个文件有 " "frameworks": { "aspnet50": { "dependencies": { "proj": "1.0.0-*" } }, "aspnetcore50": { } }," 但我没有看到 .网络框架版本在这里。
  • 看来 aspnet50 基本上是 .NET 4.5 而 aspnetcore50 是 .NET 2015。另见this Twitter convo
  • 我创建了一个基于 4.6 的测试项目,并将对 proj 的引用添加到其中。 VS 将它放在与我的网络应用程序 project.json 相同的位置,但它可以编译,而我的网络应用程序不能。我真的不知道我应该改变什么以及在哪里改变。
  • 您创建的项目类型是什么?如果您想从 ASP.NET 5 Web 应用程序中引用它,可以使用特定的 ASP.NET 5 类库(名称将来可能会更改)

标签: asp.net visual-studio


【解决方案1】:

ASP.NET 5 应用程序可以同时为多个框架构建,这是在project.json 文件中配置的。在这里,我正在构建两个框架:

{
    frameworks: {
        "aspnet50": { },
        "aspnetcore50": { }
    }
}

这是为 aspnet50(类似于 .NET 4.5.2)和 aspnetcore50(.NET Core 2015)构建的。

我可以删除其中一行以仅针对一个框架。 .NET Core Framework 是新的模块化框架,比完整的 .NET 框架小得多。 .NET Core 不具备所有功能,例如 System.Drawing。如果你想在 .NET Core 中做与图形相​​关的事情,那么你需要在 NuGet 中寻找另一个可以满足你需求的包。完整 .NET Framework 中包含的许多内容已分解为 NuGet 上可用的单独包。如果您的代码希望在一个框架中运行而不是在另一个框架中运行,则可以使用编译器指令为不同的框架运行不同的代码。

有关project.json 文件和框架配置的更多信息,请参阅the wiki

【讨论】:

  • 例如我需要这个 System.drawing。我应该添加哪个 nuget 包?没有这样的。
  • @Seacat 你必须找到一个满足你需求的(如果已经存在的话)。 SO 不是在这里为您查找库。我对你说你需要的事实感到不安。 ASP.NET 5 尚未准备好生产。它供您使用并提供反馈,而不是构建您打算使用的站点。就像我在对您的问题的评论中所说的那样,听起来 ASP.NET 5 目前不适合您——您真的需要问问自己您的应用程序是否应该处于最前沿。根据您所说,您应该坚持使用 VS 2013 和 .NET 4.5.2,直到 ASP.NET 5 更完整。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-09-30
  • 2015-11-14
  • 1970-01-01
相关资源
最近更新 更多