希望是一个直截了当的人。我正在研究一款C#产品,由于Xamarin,它可能拥有桌面(WPF),网络,任意数量的移动构建输出。
有几个组成部分:
我正在使用Ninject,效果很好。但随着解决方案逐渐扩展到包括其他项目类型(网络,移动客户端),我可以预见到一些“气味”:
目前,客户端项目引用了特定于平台的(DirectX)音频引擎以及后端的本地/测试实现。它仍然使用Ninject,并没有直接引用实现类,但让它们可访问并直接引用,就像感觉不对。
在构建解决方案时,我几乎想要拥有不同的“包”:
我是否在正确的轨道上?我是否真的想采用后期制作步骤,将内容复制到目标文件夹?
答案 0 :(得分:1)
我会考虑使用MSBuild功能来执行必要的副本。我采用了使用dependency.proj文件的方法,您可以将其配置为根据您选择设置的任何配置选项执行相应的复制操作,例如:您可以根据配置和CPU类型将特定文件复制到输出文件夹中。我不主张使用旧式的后期构建步骤,因为这些步骤不可靠且难以调试。在我看来,MSBuild是前进的方向。