C#:如果在特定的OS上构建,有没有办法仅将项目包含在构建中?

问题描述

| 我有一个简单的应用程序,使用Gtk#作为接口在Linux上运行。我想制作一个使用Wpf作为界面的Windows端口。 所有的Gtk接口代码都在一个单独的项目中,因此编写代码应该相对简单。但是,该解决方案仍将包含Gtk接口项目,其中包含我不想在Windows端口中依赖的程序集的所有引用。 有没有一种方法可以使编译器在Windows上编译时完全忽略编译Gtk程序集(也许在设置了特定的编译器标志时)? 我在Ubuntu 11.04上使用MonoDevelop,在Windows 7上使用Visual Studio 2010。     

解决方法

        您可以使用配置管理器将自定义平台添加到不构建gtk接口项目的解决方案中(您不想将其添加到项目中-无法使用)。 至于对该项目的引用,我相信该线程描述了如何基于配置排除那些引用。本质上,您可以像在旧样式(VS \ '08和更早版本)MSBuild .proj文件中一样向ProjectReference元素添加条件。     

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...