c# - 具有多个目标平台的.NET 项目? (Windows 8.1、其他)

标签 c# .net windows-8.1

我正在开发一个 WPF C# .NET 项目,在该项目中我通过使用

来利用一些 Windows 8.1 特定功能
<TargetPlatformVersion>8.1</TargetPlatformVersion>

在我的 .csproj 中。理想情况下,我希望继续为我的非 Windows 8.1 客户提供支持。

支持 Windows 8.1 特定功能同时仍创建与旧版本 Windows (.NET 4.0) 兼容的 exe 的最佳方式是什么。

谢谢!

最佳答案

您可以使用编译时间常数和项目配置为同一项目创建不同的输出。
在代码中,您可以检查是否设置了编译时间常量并相应地(取消)激活代码块,例如:

#if DEBUG
    // Code when DEBUG constant is set
#else
    // Code when DEBUG constant is not set
#endif

但是,请记住,为项目进行单独的构建会带来新的工作量。如果您有机会在运行时检查应用程序运行的操作系统是否支持某些功能,那么工作量就会少得多。

关于c# - 具有多个目标平台的.NET 项目? (Windows 8.1、其他),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19673610/

相关文章:

c# - 自动映射器以及从集合或列表继承

c# - 数据传输对象和报告

c# - LIKE 命令 Mysql

.NET 4.0 Framework升级要求?

c# - 从 HRESULT : 0x80072F0D when posting to a service in Windows phone 8. 1 获取异常

c# - 尝试在Visual Studio 2013/Windows 8.1预览版中编译C#Windows运行时(WinMD)组件时出错

c# - 泛型和集合继承

c# - ID如何在asp : TextBox?中工作

c# - 有没有一种方法可以使用 TFS API 检索工作项列表,而无需查询其数据库?

c# - Process.Start for system32 applications - 系统找不到指定的文件