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ć.