在 Visual Studio 中,您可以为项目设置“目标框架”。
众所周知,如果将“目标框架”设置为(例如).NET 4.5.2,则应用程序将无法在仅安装了 .NET 4.5.1 的计算机上运行。
第一个问题:这是真的吗? 第二个问题:该设置是否还有其他影响?
在我的公司,我们目前将应用程序的最低要求设置为 .NET 4.5.2。因此,我们当然要设置“目标框架”。 我们正在使用的内部库设置为 .NET 4.5 的“目标框架”。我们想知道这是否会有所不同,或者库是否也应该设置为 .NET 4.5.2。
我认为这应该无关紧要,但我没有找到关于该主题的任何资源。你怎么看?
最佳答案
第一个问题:这是真的吗?
这取决于。如果您的应用程序针对 4.5.2 但不使用 4.5.2 中但不在 4.5.1 中的任何内容,那么理论上它将在仅安装 4.5.1 的机器上运行良好. (可能会检查程序/安装程序运行以检查是否安装了 4.5.2,但您可以禁用它)
但是,如果您的应用程序使用 4.5.2 中但不在 4.5.1 中的函数(或其他任何函数),那么您的应用程序将无法在 4.5.1 机器上运行。
作为一般规则,您应该只将目标设置为所需的最小值。 IE。如果您不使用 4.5.2 特定功能,则不要将其定位为 4.5.2,因为没有必要。如果可以,最好将目标设置为 4.5.1,因为您可以在 4.5.2 和 4.5.1 机器上正常运行它。目标越低越好,因为它有可能在更多机器上运行。
同样的规则也适用于所有其他框架(即,如果您的 Android 应用程序只需要 18 级 API,则将目标(或至少最低目标)设置为 18 而不是更高。
关于c# - 在 Visual Studio 中设置一个 "Target framework"有什么影响,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35478020/