►
From YouTube: LibraryInstaller with Mads Kristensen
Description
Mads Kristensen show the code for a new Visual Studio feature that makes it easy to add client side libraries to your projects.
Code for this episode is here: https://github.com/aspnet/libraryinstaller
A
B
B
Library,
installer
is
a
is
a
easy
way
to
install
third-party
libraries,
client-side
libraries
specifically
into
any
web
project.
Okay,
so
let's
just
take
a
look
at
what
we've
got
here.
I
can
right-click
my
project
and
say
manage
client-side
libraries
and
by
doing
that,
I
get
a
library
to
JSON
file
into
the
root
of
my
project.
So
at
this
point
in
time
this
is
a
very,
very
new
thing.
So
this
is
the
first
that
anyone
ever
sees
of
this.
We
don't
have
UI.
We
have.
B
We
have
only
the
JSON
manifest
file
and
I'm
going
to
show
here
called
library
j/s,
but
that's
all
we
need
to
make
this
work.
So
this
allows
me
to
install
packages
and
by
default
we
were
looking
at
cDNAs.
So
you
know
package
managers
like
Bauer
and
PM
and
nougat.
They
all
have
their
pros
and
cons.
The
fact
is,
if
I
want
to
install
jQuery
I
just
want
the
jQuery
at
Mynt
at
JS
file
and
I
wanted
in
a
specific
folder
that
I
choose.
No
package
manager
in
the
world
allows
me
to
do
that
because.
A
B
Now
I
can
simply
come
in
here
and
I
get
intellisense
so
ID.
So
now
we
get
an
ID
for
something
on
CD
nsj,
then
CD
ngas
is
a
it's
a
CDN
that
hoes
2800
at
this
point
in
time
it
grows
all
the
time
about
2800,
different
client
side,
libraries,
JavaScript
and
CSS.
So
let's
get
jQuery,
let's
install
that
into
a
folder
called
Jas
last
lip.
B
B
So
this
is
a
really
neat
way
to
get
all
these
things
into
your
project
and
there's
even
a
mess
built
support.
So
you
don't
have
to
check
all
these
artifacts
into
source
control.
If
you
don't
want
to,
instead,
you
can
have
it
done
automatic.
So
if
you
right
click
library,
JSON,
you
can
select
enable
restore
and
build,
it
will
ask
you:
do
you
want
to
install
a
new
get
package?
A
B
Look
at
the
code,
let's
dive
in,
so
this
is
the
solution.
It
has
a
couple
of
projects
here,
so
these
expect
the
visual
studio
extension
that
we
just
saw.
You
know
the
menu
items
that
came
up.
The
intellisense
was
all
part
by
that
the
intelligence
of
the
library
JSON
file.
Then
we
have
the
build
project,
which
is
the
image
built
tasks.
Okay
of
all
these
projects,
it's
only
the
visual
studio
project
that
is
not
cross
plat
because
it
doesn't
have
to
be
right.
A
B
A
A
B
There
is
a
contract
project
right
here
that
only
contains
interfaces.
Can
you
zoom
in
on
that?
So
you
see
here.
These
are
the
things
that
are.
You
know
there
are
nuclear
package
of
its
own,
so
net
core.
Has
this
ability
to
automatically
compile
and
create
a
new
good
package
out
of
your
primary
right?
So
if
you
want
to
create
an
extension
for
this,
let's
say
you
don't
want
to
use
CDN
Jes.
You
have
a
better
idea.
Maybe
you
want
to
wrap
power
or
NPM.
A
B
Anything
else
into
this,
then
you
can
create
your
own
extension
and
you
just
have
to
provide.
You
know,
create
two
implementations
of
these
things,
so
I
provider
and
I
provide
a
factory.
That's
all
you
need
to
create
an
extension
of
your
own
and
that's
exactly
how
this
was
written.
So
if
we
look
at
the
actual
engine,
the
engine
has
two
providers
cDNAs,
which
we
just
saw
yeah,
and
it
has
a
file
system
one
as
well.
So
and
those
are
those
are
just
you
know,
using
those
same
interfaces.
B
Anyone
can
anyone
can
provide
interfaces
and
Visual
Studio
will
just
light
up.
Msbuild
will
just
light
up
with
support
for
your
custom
providers,
so
this
is
something
that
I'm
very,
very,
very
excited
about,
because
not
only
do
we
have
the
contracts
as
being
a
newbie
page.
The
image
built
task
is
another
package,
the
core
engine,
the
library,
installer
engine
itself-
is
a
newbie
package,
so
you
can
use
you
know
if
you
want
to
write
support,
forts
in
vias
code
or
vias
from
a
crisis,
but
we
even
have
unit
test
mocks
as
a
nougat
package.