2012-11-20 9 views
1

有没有一种好的方法可以让编程和msbuild在构建时为类型提供者创建相对路径?对于F#Type Provider,我如何使相对路径作为静态参数工作?

//type AddressBookProto = Froto.Gen.ProtoGen< @"test\addressbook1.proto"> // VS GUI 
//type AddressBookProto = Froto.Gen.ProtoGen< @"..\test\addressbook1.proto"> // Build 
type AddressBookProto = Froto.Gen.ProtoGen< @"C:\Users\taggartc\froto\froto\test\addressbook1.proto"> 

回答

0

你可以使用#if

#if DEBUG //or similar constant 
    type AddressBookProto = Froto.Gen.ProtoGen< @"test\addressbook1.proto"> 
#else 
    type AddressBookProto = Froto.Gen.ProtoGen< @"..\test\addressbook1.proto"> 
#endif 

现在你只需要定义适当的条件句。