.net包含具有不同目标框架的API

时间:2017-03-31 18:19:54

标签: c# .net .net-4.0 .net-3.5

我目前正在开发一个Windows窗体应用程序,该应用程序使用的API仅适用于.net framework 3.5(API#1),另一个API(API#2)仅适用于.net framework 4.0和上面(它的目标是4.5)。有没有办法在我的解决方案中构建项目,以便能够将这两个API合并到我的应用程序中?

有关详细信息...我的启动Windows窗体项目的目标是3.5,API#1是它引用的COM互操作dll,而api目标4.5是输出类型的多个c#项目"类库&# 34 ;.

1 个答案:

答案 0 :(得分:1)

使用早于2017版本的Visual Studio版本,您可以在解决方案中创建两个(或更多)项目。每个针对不同的框架版本。

(根据您正在开发的内容,最好将源文件放在项目中,该项目设置为使用较旧的框架版本。但这实际上取决于。)

之后在第二个项目中开始添加指向第一个项目中物理包含的源文件的链接。您可以逐个文件或选择多个文件,并使用Alt键拖动到第二个项目中。通过使用链接,您仍然可以拥有一个真实的来源"因为源代码只会保存在一个物理文件中。

由于不同的框架版本将提供不同的功能,您可能会在源代码中使用条件(#if #else ...)来获取为每个目标框架编译的代码。 请参阅:C# preprocessor directives

从Visual Studio 2017开始,您可以编辑项目文件并使用新元素" TargetFrameworks"。通过这种方式,您可以使用单个项目,并从中获取构建过程中的多个输出。

这些链接可能会有所帮助: