gpt4 book ai didi

visual-studio-2015 - 类库项目中的目标框架 dnx451 或 net451

转载 作者:行者123 更新时间:2023-12-03 03:25:01 25 4
gpt4 key购买 nike

据我了解,目标框架 dnx451net451 均使用桌面 .NET Framework 4.5.1。 dnx451 专门用于 DNX 运行时应用程序并支持 ASP.NET 5。

如果我们有一个包含 ASP.NET 5 项目和多个类库的解决方案,它们是否都应以 dnx451 为目标,还是只有 Web 项目需要以 dnx451 为目标?类库可以只针对 net451 吗?

最佳答案

更新

https://github.com/aspnet/Announcements/issues/98命名发生了一些变化。

For RC1 applications and test projects should still target dnx4x and dnxcore50 and don't need to change at all. Anything that has a Program.Main or Startup.cs is considered an application.

Only class libraries should change to target net4x and dotnet5.x. For class libraries the recommended conversion steps are:

In project.json:

Change dnx4x to net4x (e.g. dnx451 to net451)

Change dnxcore50 to dotnet5.4

And in your CS files:

Change #if DNX451 to #if NET451

Change #if DNXCORE50 to #if DOTNET5_4

<小时/>

如果您有一个面向多个框架的项目,并且想要添加对库的一般引用,则该库必须支持所有这些框架。如果您指定某个框架本身引用该库,则该库只需要支持所选框架即可。

如果我想为我的所有框架引用library1,示例:

"dependencies": {
"library1": "1.0.0"
},

"frameworks": {
"dnx451": { },
"dnxcore50": { }
}

那么library1必须支持dnx451和dnxcore50

如果我想引用library1但它只支持dnx451那么这是我唯一的选择:

"dependencies": {
},

"frameworks": {
"dnx451": {
"dependencies": {
"library1": "1.0.0"
}
},
"dnxcore50": { }
}

但这意味着library1代码不能在dnx451中使用。

要解决这个问题,您可以使用编译时条件:

#if DNX451
//Code here for dnx451
#elif DNXCORE50
//code here for dnxcore50
#endif

或者另一种解决方法是使用另一个库来实现其他依赖项

澄清一下,该库可以支持比您的项目更多的框架。所以library1可以支持dnx451和dnxcore50,而你的项目只支持dnx451就可以了

关于visual-studio-2015 - 类库项目中的目标框架 dnx451 或 net451,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31834593/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com