2017-02-10 12 views
5

Utworzyłem bibliotekę, która używa: generics, metod rozszerzeń i delegata Func. Func Delegat to najbardziej nowa funkcja .NET (wersja 3.5) w bibliotece. Kiedy opublikowałem go do nuget, projekt był skierowany do .NET w wersji 4.5.2, ale kiedy próbowałem go zainstalować do projektu, który celuje w wersję 4.5, nie udało się.Najprostszy sposób na kierowanie wielu ram w nuget?

Jak upewnić się, że pakiet zostanie zainstalowany na każdym projekcie, który jest skierowany do .NET 3.5 i jego nowszych wersji, czy powinienem zmienić docelowy framework w bibliotece na 3.5 lub powinienem użyć konwencji katalogów i utworzyć osobną bibliotekę dll dla każdego ramy, wyjaśnione tutaj:

Supporting multiple .NET framework versions

Odpowiedz

3

docelowy pakiet do 3,5, co oznacza folder lib powinno być tak.

lib \ net35

Jeżeli A jest kierowana pakietów net35, może być zainstalowany w każdym projekcie kierowanej .NET 3.5 lub wyżej.

+0

Czy zmiana docelowej struktury wystarczy do wykonania zadania? ponieważ nie zbudowałem mojej biblioteki o tej strukturze: lib \ {net version} –

+0

Tak, zmiana docelowej struktury zrobi to za Ciebie. –

+0

Dla ciekawości, dlaczego nie po prostu używać tego podejścia zamiast używania konwencji folderów? kierowanie na najwyższą wersję używaną w bibliotece jest łatwiejsze i wygodniejsze niż tworzenie zestawu dla każdej wersji framework? –

Powiązane problemy