Msbuild 对于F#类型提供程序,如何使相对路径作为静态参数工作?

Msbuild 对于F#类型提供程序,如何使相对路径作为静态参数工作?,msbuild,f#,type-providers,Msbuild,F#,Type Providers,有没有一种好方法可以使相对路径在编程时同时适用于类型提供程序和在生成时适用于msbuild //type AddressBookProto = Froto.Gen.ProtoGen< @"test\addressbook1.proto"> // VS GUI //type AddressBookProto = Froto.Gen.ProtoGen< @"..\test\addressbook1.proto"> // Build type AddressBookProto

有没有一种好方法可以使相对路径在编程时同时适用于类型提供程序和在生成时适用于msbuild

//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">
//键入AddressBookProto=Froto.Gen.ProtoGen<@“test\addressbook1.proto”>//VS GUI
//键入AddressBookProto=Froto.Gen.ProtoGen<@.\test\addressbook1.proto“>//编译
键入AddressBookProto=Froto.Gen.ProtoGen<@“C:\Users\taggartc\Froto\Froto\test\addressbook1.proto”>
如果

#如果调试//或类似常量
键入AddressBookProto=Froto.Gen.ProtoGen<@“test\addressbook1.proto”>
#否则
键入AddressBookProto=Froto.Gen.ProtoGen<@.\test\addressbook1.proto>
#恩迪夫
现在您只需要定义适当的条件

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