Dlaczego nie mogę utworzyć dostawcy typu jako pliku * .exe z [<TypeProviderAssembly()>]
i [<EntryPoint>]
w środku?F # Typ Dostawca skompilowany jako plik * .exe
Gdy próbuję odwołać takie TP korzystając #r @"d:\TP\bin\Debug\MyTypeProvider.exe"
, widzę następujące:
test.fsx(3,1): error FS3031: The type provider 'd:\TP\bin\Debug\MyTypeProvider.exe' reported an error: Assembly attribute 'TypeProviderAssemblyAttribute' refers to a designer assembly 'MyTypeProvider' which cannot be loaded or doesn't exist. Could not load file or assembly 'file:///d:\TP\bin\Debug\MyTypeProvider.dll' or one of its dependencies. The system cannot find the file specified.
muszę mieć czas podtrzymania Typ wnioskowania w oddzielnym procesie, ponieważ powinien być 64bit
(w przeciwieństwie 32bit
procesu VS). Ale chcę spakować wszystkie rzeczy w jeden plik, odnieść go do VS i zacząć jako proces zewnętrzny.
TP powinna mieć możliwość połączenia się z SharePoint. Jest to możliwe tylko z procesu "64-bitowego". VS to aplikacja "32bit", która oznacza, że IntelliSense też. Nie mogę zrobić tego bezpośrednio od dostawcy typu. Jedynym możliwym rozwiązaniem, które widzę jest rozpoczęcie oddzielnego procesu '64bit' i komunikacja między nimi za pomocą nazwanych potoków WCF. Miło będzie spakować usługę i klienta do jednego exe. –
Możesz spojrzeć na [bieżącą implementację] (https://github.com/sergey-tihon/PowerShellTypeProvider). Ale chcę połączyć te projekty w jeden. Myślę, że w tym przypadku będzie łatwiejszy w użyciu. –