Jeżeli piszecie aplikację/demo które wykorzystuje bibliotekę o konkretnej nazwie należy się upewnić by folder w którym wykonujecie kpm build
miał nazwę inną niż nazwa biblioteki.
Dzieje się tak, że domyślnie nazwa assembly który zostanie stworzony przez kpm build
jest taki sam jak nazwa folderu.
Dla przykładu, jeżeli wykorzystujemy w aplikacji bibliotekę Nancy
, i nasz folder nazwiemy Nancy
, to kpm build
dostanie małego świra i nie wykorzysta referencyjnej biblioteki Nancy
ale naszą bibliotekę którą właśnie kompilujemy potraktuje jako to Nancy.
Zwracany błąd:
D:\_playground \nancy\HomeModule.cs(3,11): error CS0246: The type or namespace name 'Nancy' could not be found (are you missing a using directive or an assembly reference?)
Za dużo nam nie powie (choć może trochę nakierować).
To co nam powie, że coś jest nie halo, to początek build long:
Building nancy for Asp.Net,Version=v5.0 Using Project dependency nancy 1.0.0 Source: D:\_playground \nancy\project.json Using Package dependency Kestrel 1.0.0-beta1 Source: C:\Users\Jakub\.kpm\packages\Kestrel\1.0.0-beta1 File: lib\aspnet50\Kestrel.dll (…)
Gdzie możemy zobaczyć, jakie biblioteki są załączone a jakie nie, oraz jak nazwana jest biblioteka która próbujemy budować – w tym wypadku Nancy.
Jak na razie nie dokopałem się innej opcji niż zmiana katalogu – ale może to się zmieni :) tam znać.