►
From YouTube: Cloud: .NET Community Standup - January 31, 2019
Description
Join members from the .NET teams for our community standup covering great community contributions for Azure, AI, ML, Containers, and more.
A
A
A
B
B
Technologies,
so
my
team
is
responsible
for
publish
in
Visual
Studio,
so
once
you
have
your
application,
building
and
working
to
an
acceptable
level,
and
you
feel
you
want
to
see
what
it
looks
like
once
you
have
it
deployed
to
an
environment
that
this
isn't
your
f5.
It
could
be
a
localized
server,
it
could
be
a
remote
area
server,
it
could
be
a
sure
it
could
even
be
other
hosts
and
other
clouds.
Visual
Studio
has
a
published
platform
that
lets.
You
quickly
get
your
code
with
the
right
configuration
where
you
want.
B
A
Cool
lot
of
cool
stuff,
so
that
may
be
a
little
preview.
Some
of
the
stuff
we
plan
on
talking
about
today,
so
I
am
I
work
in
the
same
team
as
Angelo's,
so
just
a
little
bit
broader.
So
we
and
my
team
more
broadly
owns
all
of
the
tools
that
ship
out
of
a
dotnet
organization
that
includes
all
of
our
web
editors
and
includes
the
dotnet
CLI
and
on
an
sdk.
All
the
productivity
features
that
ship
in
Visual
Studio
refactorings
code
fixes
things
like
that.
A
But
today
we're
going
to
focus
more
on
the
cloud
side
specifically,
but
we'll
also
show
some
fun
new
stuff
that
is
coming
for
web
developers.
In
general,
it's
been
especially
asp.net
as
a
first
place
to
start
I
thought
we'd
just
start
with
a
couple:
fun
blog
posts,
I
found
it's
cool
from
community
members,
okay,
and
we
can
maybe
discuss
those
for
a
little
bit.
Let's
do
it,
and
so,
if
I
can
switch
to
the
right
screen
there
we
go.
A
So
as
a
starting
point,
when
we
talk
about
the
cloud
alright
I
was
inside
Microsoft,
we
think
about
asher,
and
when
we
think
about
Asher,
we
generally
tell
people
hey
the
place
that
you
want
to
look
to
start
is
as
your
app
service
and
so
in
this
blog
post.
He
goes
through
and
he's
talking
about
ways
to
do
configuration
and
really
secrets.
So
one
of
the
things
that
not
everybody
may
have
heard
or
dealt
with
is
I
think
the
two
things
here
would
be
key,
vault
and
MSI.
B
So
this
is
an
old
problem
and
key
vault
and
other
ad
MSI
are
a
cloud
solution
to
this
old
problem.
You
know
back
in
the
day
when
I
used
to
write
WinForms
applications
connecting
to
sequel
server,
we
started
off
with
connection
strings
that
had
use
them
in
passwords
in
there.
Then
we
started
encrypting
them.
Then
we
thought
well
what?
If
the
service
is
running
as
a
Windows
identity,
and
then
you
give
the
Widow's
identity
the
permissions,
and
then
your
connector
string
doesn't
have
to
have
any
secrets,
and
it
was
great.
B
So
in
a
cloud
world
in
a
cloud
environment,
your
application
needs
to
talk
to
various
services,
various
data
stores
and
just
like
in
the
old
days,
you
need
to
authenticate
you
can't
let
just
anybody
connect
your
services
and
anybody
read
your
data,
so
the
first
step
towards
making
sure
that
your
secrets
are
at
least
outside
of
your
code
base
is
keyboard.
Suraj
acute
is
another
service
that
allows
you
to
store
application
secrets.
B
They
can
be
things
like,
like
I,
said
connection
strings
the
database
there
can
be
API
keys
to
another
service
like
Google
or
Facebook
for
authentication.
It
can
be
anything
really
that
you
consider
it
reported
enough
to
protect
it,
especially
with
open
source
and
the
tendency
for
pretty
much
everybody
to
have
their
code
open
everybody
to
see
you
want
to
protect
against
accidentally
also
checking
in
secret.
That
eventually
makes
it
to
a
public
repo
and
all
of
the
sudden
you've
kind
of
created
a
problem
out
of
nothing.
B
So
the
first
step
of
defense
is
having
a
place
where
you
can
centrally
store
your
secrets,
and
then
you
only
have
one
place
where
you
can
go,
get
your
secrets
and
it's
not
in
your
source
code.
So
that's
what
Keeble
does,
but
that
doesn't
actually
solve
the
problem.
A
hundred
percent,
because
you
still
have
to
authenticate
with
cable
itself
hold.
A
On
one
quick
question,
so
yeah
we'll
get
there
as
free
persons,
so
obviously
in
a
spin
in
a
core.
We
introduced
secrets
at
JSON
a
long
time
ago
and
then
more
recently
in
asp.net,
we
introduced
secrets
on
XML.
So
what
would
the
advantage
from
a
developer
perspective
be
potentially
using
key
vault
rather
than
using
secret
attacks
in
our
series?
Yeah.
B
Some
people
might
be
fine
using
that,
even
when
you're
in
a
local
environment
in
your
filings,
some
people
have
no
issue
with
an
internet
connection
and
they
don't
mind.
Other
f5
is
kind
of
relying
on
something
that
is
outside
of
the
local
machine,
but
the
majority
don't
I,
know
personally
I,
don't
like
my
5
being
slow
I,
don't
like
my
5,
being
kind
of
relying
on
a
internet
connection,
sometimes
I'm
working
on
the
train
or
the
plane.
So
the
philosophy,
usually
is
your
local
debugging
in
your
f5,
should
always
have
local
dependencies.
B
It
depends
on
the
technology
stack,
but
the
sweet
stuff
is
that
it's
in
a
location
on
your
machine
that
is
outside
of
your
repo,
but
the
project
system
is
smart
enough
to
be
able
to
read
from
them
and
the
magic
is
the
runtime.
The
magic
is
that
the
runtime
lets.
You
write
one
line
of
code
that
accesses
your
secret,
no
matter
where
your
secret
is
actually
stored
and
then,
via
runtime
configuration.
You
can
tell
your
application
where
to
go.
Look
so
just
by
having
a
user
secret
of
Jason
existing.
B
A
B
A
A
If
I
set
up
a
new
machine
like
I
work
in
virtual
machines
in
the
cloud
every
time,
I'm
gonna
have
to
go,
get
those
configuration
values
from
somewhere
and
paste
them
in
to
my
secrets,
adjacent
secure,
XML
file
on
that
local
machine,
where
the
one
the
really
nice
thing
that
key
vault
could
enable.
If
I
don't
mind
a
cloud
connection
as
part
of
my
f5
is.
B
A
B
A
B
So
we
said
we
don't
want
to
have
any
username
and
passwords,
so
we're
gonna
put
them
in
queue
volt.
But
how
do
you
access
cable?
You
need
to
use
them
and
password
right.
Well,
you
don't
really
so
this
is
where
our
MSI
comes
in,
which
is
Microsoft
identity
on
Azure.
That
runs
on
top
of
our
ad.
The
idea
is
that
another
service
and
another
application
has
an
identity
inside
macro
starter
ad.
That
is
fully
managed.
You
have
to
create
it,
it
just
exists.
B
So
then
all
you
have
to
do
is
granted
permissions
to
the
storage
that
counts
as
equal
accounts.
Whatever
other
service,
you
want
it
to
access.
So
the
the
classic
enterprise
pattern
is
that
you,
your
application,
uses
MSI
to
access
key
vault
and
then
key
vault
contains
whatever
secrets
you
want
there
either.
You
know
related
to
donate
or
even
for
third
party
services,
and
so.
A
That
means
that
when
I'm
locally
in
my
machine,
because
I'm
authenticated
as
a
user
and
I
have
an
access
to
key
vault
right,
then
that
means
that
when
I
just
hit
f5
to
run
my
application
locally,
it
automatically
passes
through
my
credentials
from
that
machine
and
lets
me
connect
without
the
need
to
check
any
connection.
Information
in
this
and.
B
Benefits
workable
production,
so
I
guess
we
can
talk
about
the
worst
case
scenario
when
if
your
application
is
compromised
or
anything
like
that,
like
we
said
if
your
source
code
gets
leaked,
things
like
that,
we
said
you're
kind
of
protecting
from
a
unfortunate
event
kind
of
by
default.
Before
it
happens,
a
best
pattern
for
using
keyboard
in
production
is
too
because
key
vault
is
a
service.
Every
service
has
a
bit
of
latency.
Every
service
requires
a
request
and
a
response.
What
is
accessing
a
local
resource
is
usually
instant.
B
So
if
you
take
that
the
consideration,
a
good
Enterprise
pattern
for
using
key
vault
is
when
your
application
starts
up.
You
access
the
information
that
you
need.
You
get
the
secrets
from
keyboard
and
then
you
encrypt
them
and
store
them
in
memory
for,
however
long
you
need
them,
and
maybe
you
go
back
and
refresh
whenever
you
need
to
refresh,
but
the
pattern
is
to
not
always
get
cable
directly
but
cause
some
of
the
credentials
or
another
pattern
is
to
store
a
secret
in
cable
that
you
then
and
decrypt
on
the
client
side.
Okay,.
A
We
heard
a
question
come
in
on
our
chat
and
the
question
was:
can
you
use
as
your
key
vault
without
hosting
and
Azure,
and
the
answer
is
yes,
depending
what
your
definition
of
hosting
an
answer
is.
So
the
key
vault
itself
is
always
going
to
exist
on
a
sure,
but
the
application
can
be
running
anywhere.
Yes,
Angeles's
point
like
there's
different
ways
of
authenticating
against
key
Balt,
and
so,
if
you're
not
running
in
as
your
msi
that
we
were
talking
about
that
doesn't
require
any
secrets
at
all.
To
do.
A
The
authentication
may
not
work
for
you,
but
you
can
do
certificate
based
authentication
or
API
key
based
authentication.
So
you
could
be
running
an
application
locally
on
premises,
but
then
actually
choose
to
host
all
of
your
secrets
in
the
cloud
as
Angelus
mentioned,
another
somewhat
common
pattern
that
people
do
is
they
will
actually
have
the
secrets
or
connection
information
in
an
encrypted
file
with
their
actual
application
and
they'll
store
the
certificate
to
do
the
encryption
and
decryption
in
one
key
vault,
and
so
what
you
do
is
you
just
hold
the
certificate.
B
B
Geek
out
a
little
bit
key
bolt
also
supports
the
idea
of
versioning,
so
I
know
that
it's
not
for
everybody,
but
if
you
had
a
configurational
value
and
you
needed
to
support
multiple
application
versions,
you
could
even
ask
it
for
a
specific
version.
So
you
can
say
what
is
this
value
when
my
application
is
this
version
versus
one
application
is
a
different
version,
so
it
has
some
cool
features.
On
top
of
that
very.
B
A
Is
a
blog
post
that
I
found
just
remember
the
community
that
was
really
fun
and
we'll
kind
of
walk
through
and
talk
about
it
a
little
bit,
but
it
says
dependency
injection
for
Azure
functions,
v2.
So
before
we
get
into
dependency
injections.
If
anybody
is
not
familiar,
can
you
tell
me
a
little
bit
about
what
are
as
your
functions
again.
B
I
think
this
is
a
classic
old
problem,
but
with
a
cloud
solution.
So
whenever
we
write
applications
after
they
get
a
certain
size
and
a
certain
maturity,
we
need
to
do
things
like
run
scheduled
tasks
that
maybe
they
go
and
run
a
piece
of
code
or
they
clean
up
something.
Maybe
we
want
to
go
and
aggregate
some
data
and
put
it
in
a
data
Mart?
B
So
back
in
the
day,
if
you
want
windows,
you
could
use
a
Windows
service
to
do
things
like
that
in
the
Linux
world,
they're
called
demons.
So
in
the
cloud
you
could
have
an
app
service,
deploy
an
application
and
have
a
piece
of
code
that
maybe
pulls
at
something
and
then
when
it's
the
right
time
it
works,
but
there's
something
out
of
the
box
that
aza
gives
you
natively.
That
does
a
better
job
of
that
which
is
called
Asha
functions.
B
So
the
idea
is,
if
you
need
to
work
with
reacting
to
an
event
like
an
HTTP
request
or
a
message
being
put
on
the
service
bus,
then,
as
Drew
has
triggers
specialized
triggers
for
these
specific
cars
or
services.
That
then
says
well
that
event
just
happened.
Do
you
have
some
code
that
you
wanna
run
and
the
beauty
of
functions
is
that
it
doesn't
have
to
be
a
big
entire,
huge
application?
It
can
be
literally
a
function
and
a
classic
classic
scenario.
We
see.
That
is.
B
Let's
say
you
have
a
website
and
a
customer
uploads
an
image,
and
you
want
a
watermark
theme,
and
so
you
want
to
process
the
image.
There's
a
classic
scenario
where
you
can
have
a
storage
account
where,
as
soon
as
you
seen
him
as
being
placed
in
there's
a
natural
function
that
gets
triggered
because
of
the
event
being
that
the
storage
account
has
received
a
new
item,
then
you
react
to
it.
You
get
done,
processing
the
image,
then
you're
done
and
yours
functions
just
shuts
down.
I.
Think.
A
Yeah
well,
I
was
looking
around
for
some
fun
blog
post
from
the
community.
I
found
one
blog
post,
I
didn't
didn't
choose
to
show
it,
but
they
said
I
just
wrote
the
word.
Serverless
servers
what's
happening
to
the
world
and
it
doesn't
mean
that
there
are
no
servers
running
code.
Of
course
there's
a
server
in
the
cloud
running
your
code,
but
it's
the
idea
that,
unlike
like
you,
mentioned
app
service-
and
we
talked
about
it
briefly
a
minute
ago.
That's
the
idea
of
I
reserve
resources
on
a
server
right.
B
B
A
A
B
A
Lick
miss
who's.
One
of
our
cloud
developer,
advocates
Microsoft,
wrote
a
blog
post
a
little
while
ago
talking
about
how
he
has
his
own
service
that
he
stood
up
and
he
pays
like
30
cents
a
month
to
run
it
and
it
gets
a
reasonable
amount
of
traffic
because
you're,
basically
paying
by
the
millisecond.
We
run
at
your
functions,
yeah
so
yeah.
A
It's
not
just
the
fact
that
it's,
it's
not
polling
all
the
time,
but
it's
truly
the
platform's
doing
all
of
that
stuff
on
your
behalf
and
you're,
actually
only
paying
when
your
code
is
truly
executing
Multiplier
millisecond
you
run
by
that
I'm,
not
a
memory.
Yes,
that's
right
and
I
think
you
have
a
couple
canonical
examples
of
what
they're
really
good
for,
and
you
said
that
they're
really
good
for
things
that
are
triggered
so
timers
yep
processing
things
that
come
into
my
website
that
don't
need
necessarily
need
instantaneous
response.
A
The
user
uploads
something
I
can
just
slop
slap
store
it
in
a
queue
or
storage
and
then
I
could
let
a
function
pick
it
up
and
process
it,
whether
that
means
putting
in
the
database
whether
that
means
like
an
image
right.
I'll.
Let
people
upload
I
want
to
generate
a
thumbnail.
Okay,
great
I'm,
gonna.
Stick
it
storage
on
the
upload.
A
function
will
pick
it
up.
It'll
do
the
processing
that
gets
it
out
of
that
virtual
machine
that
I
virtual
virtual
machine
that
I'm
paying
for
so.
B
A
Using
CPU
resources
that
could
be
serving
requests
from
customers
to
generate
a
thumbnail
that
happens
on
some
other
machine
somewhere
and
then
it's
just
available
in
my
application,
within
probably
milliseconds
to
a
second
or
so
worst
case
scenario
that
it
can
start
using
and
serving
that.
So
that
also
really
improves
the
scalability.
In
my
yeah.
B
Now
that's
a
very
good
point.
You
have
to
remember
that
it
is
another
service.
So,
as
part
of
your
architecture,
you
have
to
realize
there's
some
delay
some
latency,
but
the
cool
thing
is
that
you
could
do
things
like
patching,
so
you
could
do
things
like
well.
I
know
this
event
gets
fired
very
often
so
I'm
not
gonna
react
to
it.
Every
time
I
mean
I,
reactively,
tenth
time.
I
get
it
so
yeah
lots
of
easy
ways
to
make
your
architecture
really
efficient,
and
you
can
tweak
that
later
on
very
easily
great.
A
Very
cool,
so
I'm
gonna
come
back
to
just
as
blog
post.
This
is
something
I
found
that
I
just
thought
was
fun.
I
was
like
it
when
people
come
up
with
really
cool
ways
of
doing
things.
So,
if
you've
dealt
with
asp.net
core
you're
likely
familiar
with
dependency
injection
dependency
injection
is
the
idea
that
you
do
registration
right
and
then
you
take
a
thing
of
a
particular
type
and
your
constructor
and
the
runtime
takes
care
of
injecting
the
correct
object.
It's
a
really
calm,
a
code
very,
very
testable
yeah.
A
Because
of
what
allows
you
to
do.
Is
it
allows
you
right?
You
typically,
you
register
an
interface
and
then
you
can
provide
a
different
implementation.
You
know
at
your
test
level
than
you
can
in
production
or
and
your
code,
that's
gonna
really
run.
It
also
enables
you
to
change
the
behavior
of
their
environment
across
different
environments,
but
you
talked
about
a
little
bit
so,
for
example,
the
I
configuration
provider
and
asp.net
core
lets.
You
write
you
talked
about.
It
takes
care
of
pulling
the
secrets
from
different
places,
whether
it
be
seeker
set,
JSON,
yeah,.
A
Variables
or
evolve
do
any
of
those,
but
in
my
code,
where
I
get
it
I
just
get
an
I
configuration
object
and
it
has
whatever
values
the
runtimes
inserted
they're.
On
my
behalf
and
so
I
saw
this
was
a
fun.
So,
as
your
functions,
you
said
are
very
function
e
in
in
dotnet
world
they're,
driven
by
attributes,
I'm,
not
gonna
kind
of
walk
through
his
whole
code.
A
Obviously
you
can
see
the
blog
URL
here
if
anybody
wants
to
go
check
it
out
or
search
for
it
on
the
internet,
but
I
thought
it
was
a
fun
just
a
fun
implementation
of
something
doing
it's
available
via
nougat
and
so
he's
Azure
functions
are
driven
via
attributes
and
right.
So
he's
added.
This
attribute
called
inject,
which
means
that
you
want
to
get
this
thing
via
dependency
injection
and
he
has
all
the
code
to
wire
it
up.
A
A
What's
going
on
yeah,
it's
a
really
really
nice
way
to
program
because
it
just
said
it
makes
your
code
so
testable
the
extra
code
so
versatile,
as
you
move
across
environments,
I
want
to
update
or
change
behavior,
one
of
the
things
I
tend
to
demo
a
lot
and
some
of
the
azure
talks
we
do
is
talking
about.
If
you
are
accessing.
So
we
talked
about
storage
law
right
so
in
a
web
application.
I
might
want
to
read
and
write
stuff
from
some
persistent
store
and
so
by
using
dependency
injection.
A
B
This
kind
of
stuff
do
we
have
a
little
bit
of
time
to
geek
out
yeah.
Let's
do
it
so
hi.
So
it's
been
a
while,
since
I
wrote
any
kind
of
production
type
code,
my
dev
days,
I
kind
of
in
the
past,
but
when
I
OC
was
all
the
raids
I
remember,
my
team
wanted
to
write,
wanted
to
combine
IRC
with
Maki.
So,
like
you
said,
the
classic
pattern
is
you
have
some
type
of
interface
that
you
implement
and
then,
if
somebody
wants
to
use
you,
you
don't
reference
them.
B
Instead,
you
pass
yourself
in
the
constructor
right
so
that
you
can
be
used
well.
What
we
wanted
to
achieve
is
mocking.
We
wanted
our
mocked
unit.
Tests
did
not
look
like
a
bunch
of
code
that
just
tries
to
create
instances
and
pass
them
along.
We
want
it
to
be
just
normal
code
that
you
would
write
as
if
the
application
was
running
without
marks.
B
So
what
we
did
was
we
took
the
default
container
and
we
extended
it
and
we
added
a
method
that
says
if
somebody
in
the
future
asks
you
for
this
type
market,
so
you
could
write
real
code.
You
never
have
to
deal
with
unless
you
just
at
the
beginning
of
the
test.
You
could
say:
well
here's
what
this
method
is
gonna
test
here,
the
mocks
and
then
the
rest
of
the
code
was
always
just
production
style
code.
So
yeah
I
love
this
cool
little
hacks
that
make
your
code
just
look
better.
Yeah.
A
B
A
I'm
running
my
unit
test
I,
don't
necessarily
want
to
put
that
into
a
database
so
by
you.
So
if
I
wrote
the
code
here
like
if
I
just
wrote
like
reading
them
right
into
the
database
on
my
own,
the
way
to
test
that
is
to
like
basically
I
need
a
test
database
somewhere
or
to
really
do
some
like
nasty
interception
of
calls
or
things
like
that
or
the
idea
of
a
dependency
injection
is
I.
Can
just
have
my
test
object
that
when
you
know
you
I
write
my
thing
for
the
database.
A
It
just
stores
it,
as
you
know,
in
a
C
sharp
object,
and
then
my
test
says:
okay
did
is
the
C
sharp
object,
the
right
representation
and
then
my
real
code
and
production?
It's
just
a
different
class
that
handles
that
different
implementation,
and
it's
the
one
that
actually
writes
in
the
database
rather
than
if
those
tests
ability
is
great
from
I,
said
yeah.
It's
kind
of
easy
to
geek
out
on
dependency
injection,
which
is
why
this
was
a
fun
example.
A
With
add
your
functions
yeah
so
with
that
I
thought
we
would
transition,
given
the
time
of
where
we
are
right,
we're
finishing
up
our
Visual
Studio
2019
cycle
preview,
twos
available,
okay
and
so
I
thought
we'd
take
a
little
bit
of
time
to
show
some
of
the
new
capabilities
that
we've
added
for
both
asp.net
development
and
just
as
your
development
in
general,
so
I'm
gonna
start
real,
quick
with
two
demos.
Some
of
this
stuff
has
likely
been
demoed
on
the
asp.net
community
sign
up
as
well,
but
if
you've
missed
it,
it's
definitely
worth
seeing.
A
So
the
first
thing
I
want
to
show
is
we're
already
on
my
the
screen
is,
if
you
missed
it,
vs
code
great
tool,
we've
added
support
for
working
with
razor
files
in
PS
code.
That
was
our
top
ask
by
far
in
our
c-sharp
extension
for
the
vyas
4
vs
code,
but
nice
raiser
support.
So
let's
do
donna
new
dotnet
new
razor.
This
will
just
create
a
razor
page
is
file
for
me
once
it
creates
that.
A
A
And
so
now,
if
I
go
into
my
pages
file,
so
previously
anytime,
you
I
was
in
a
CS
HTML
file.
A
razor
file
and
I
would
only
get
intellisense
or
CSS
support,
but
I
wouldn't
get
any
support
for
any
of
the
C
sharp
intellisense,
and
so
what
I
get
now
is
if
I
want
to
write
any
c-sharp
code,
I
get
that
as
well.
So
if
I
want
to
do
like
a
for
each,
we
have
support
for
that
now
as
well.
A
A
I
should
go
too
so
at
model
and
now
I'm
gonna
get
actual
real
intellisense
or
that
so
hello
net,
so
c-sharp
intellisense.
So
now
we
have
full
Razer
supportable
in
the
CTR
pretension.
It's
worth
mentioning
that
this
is
still
in
preview.
A
hundred
percent
of
Razer
is
not
supported.
The
one
thing
that
we
I
think
the
big
thing
that
people
have
asked
about
the
most
part
is
we
don't
have
support
for
tag
helpers.
A
Yet
that's
not
one
thing:
that's
missing,
okay,
but
this
is
a
fully
open
source,
this
portion
of
the
extension
under
the
asp.net
website.
So
if
you
have
questions
or
issues
or
complaints,
it's
really
easy
to
just
go
file
issues
or
engage,
and
your
even
people
are
even
welcome
to
give
us
pull
requests
and
try
to
help
us
a
kolbe
it
and
make
it
even
better.
So.
A
So
go
for
the
vs
code
extension
there's,
there's
a
debt
there's
two
there's
dedicated
github
repo
just
for
the
Razer
portions
of
this
all
right
under
the
asp.net
site.
So
we'd
love,
love
feedback
on
that
yeah.
The
other
thing
I
want
to
show
and
there's
a
couple
comments
in
here
about
a
visual
to
2017,
so
the
Visual
Studio
2019
is
currently
in
preview.
So
it's
not
even
rtw
yet,
but
let
me
go
ahead
and
close
this.
Let
me
go
ahead
and
delete
this.
A
So
let's
go
back
to
and
let's
open
that
same
project
that
we
just
did
so
open
project
or
solution
up
here:
EMP
boom,
let's
open
this
CS
proj
file,
and
so
in
this
to
2019
extending
the
theme
of
Reiki,
making
a
razor
in
CS
HTML
development
better.
We
have
added
support
for
refactoring
and
find
all
references
across
this
HTML,
which
is
something
that
we
were
always
missing.
So
let's
go
back
here
and
say
what
I'm
going
to
do
is
I'm.
A
Just
gonna
drop
my
the
property
that
we
just
had
there
before
I'm
gonna,
say
div
and
I'm
going
to
say
model
hello,
dotnet,
alright!
So
that's
a
wrong
thing,
but
okay,
that's
two
of
them
yep!
So
now,
when
I
go
here
to
my
CS
HTML,
a
couple
things
so,
first
of
all,
when
my
code
lens
populates
here
in
a
couple
seconds,
I
should
be
able
to
see.
Oh,
this
is
a
oh
there
we
go.
It
should
show
me
that
give
me
a
couple
seconds.
A
B
A
A
A
A
B
A
B
So,
let's
go
over
to
my
laptop
this
time.
Okay,
so
what
I'm
gonna
show
you
here?
The
first
iteration
of
this
will
apply
to
publishing
to
the
cloud,
but
I'm
also
going
to
talk
about
our
long-term
plans,
which
is
bringing
this
type
of
capability
to
all
types
of
apps,
no
matter
where
they
deploy.
We
just
thought,
starting
with
Azure
and
app
service,
was
a
great
starting
point
to
get
good
feedback
about
the
architecture
before
we
go
very
broadly
in
terms
of
scenarios
just
to
remind
ourselves
what
published
looks
like
in
visuals
2017.
B
What
I
have
here
is
a
basically
an
empty
asp.net,
core
application
that
I've
created
a
published
profile
for
so
in
case
you
haven't
seen
this
before
you
can
right-click
on
an
application
and
say
publish.
Then
you
get
asked
some
questions,
whether
you're
not
publish
it.
This
is
being
published
to
observers,
and
this
is
what
we
call
the
published
summary
page
where
you've
set
up
the
profile,
and
you
can
now
continuously
publish
to
this
instance
of
app
service
by
pressing
the
publish
button.
B
B
So,
like
you
said,
this
is
preview,
not
a
final
product.
You
will
see
some
things
that
are
not
a
hundred
percent
ready
yet
so
this
is
this
also
2019.
This
is
the
exact
same
publish
profile,
actually
looking
at
the
exact
same
app
service,
but
I'm
gonna
point
out
some
small
UX
improvements,
we've
done
and
then
I'm
gonna
talk
about
the
main
thing.
So
you'll
notice
that
we
have
improved
a
little
bit
UX
around
managing
your
profiles,
so
you
can
create
a
new
one.
B
You
can
edit
the
existing
one
rename
and
delete
it
all
from
one
place
here.
The
summary
section
has
some
quality
of
life
improvements
like
some
titles
and
the
ability
to
change
values
in
line
I'm
gonna
go
back.
Well,
it's
not
exactly
in
line,
but
there
was
no
stroker
to
get
you
to
these
values
before.
So
we
have
some
funds,
some
clean
up
and
made
things
look
a
little
bit
better
and
work.
B
A
little
bit
discover
facts
a
little
bit
easier,
but
the
main
thing
is
this
new
section
underneath
called
dependencies,
and
this
is
the
first
step.
So
what's
the
idea
of
visual
studio,
understanding,
environment,
I'm
gonna
give
you
a
quick
demo
of
what
we
have
already,
but
then
I'm
going
to
extrapolate
from
that
and
talk
about
that
longer
term
picture.
So
if
you
look
at
the
previous
version
after
you
have
created
your
app
service
and
after
your
application
had
the
published,
we
didn't
really
help.
B
You
create
new
instances
of
other
services
that
you
may
want
to
use.
You
only
got
our
opportunity
at
the
very
beginning
when
you
create
the
profile,
but
when
we
talk
to
customers,
we
hear
that
people
build
things
slowly
and
bit
by
bit.
You
start
up
with
a
web
application.
You
first
want
to
make
sure
that
you
can
host
it
any
runs.
Then
you
might
add
some
dependency
to
it.
B
Like
a
storage
account
or
a
sequel
database,
then
ask
the
application,
matures
you
add
more
and
more
services,
but
we
didn't
really
help
you
with
the
incremental
maturity
of
your
application.
So
the
idea
here
is
that
publish
profile
won't
just
understand.
The
target
has
seen
okay
you're
putting
this
in
IAS
or
you're.
Putting
this
in
app
service.
B
You
will
also
understand
the
dependencies
the
application
has
and
how
can
they
be
fulfilled
in
each
target
environment
so,
starting
with
app
service,
we
give
you
the
ability
to
after
the
fact,
even
after
you've
deployed
your
application,
we
create
new
instances
of
Azure
storage
and
as
a
sequel
and
in
the
future.
This
is
going
to
be
a
kind
of
like
a
large
catalog
of
services
that
you
want
to
see.
B
B
So
again,
as
I
mentioned,
this
is
a
preview.
So
some
things
are
not
perfect,
like
the
scroll
bar
you'll
notice
is
not
themed
correctly
and
we're
showing
a
validation
messages
before
you
do
anything.
Those
are
kind
of
last-minute
cleanup
things
believe
the
end
after
we're
kind
of
settled
on
the
main
experience.
But
what
I
want
to
point
out
here
is
from
a
from
a
experience
point
of
view.
We
made
the
implicit
decision
of
show
you
this
list
of
existing
resources.
B
I
want
to
talk
about
that,
and
if
people
have
feedback,
I
would
love
to
get
it
to
you,
but
the
idea
was
we
could
present
you
with
the
choice
of
creating
new
or
selecting
existing
at
this
point,
but
talking
to
customers,
we
realize
that
selecting
existing
is
much
more
likely
and
it
probably
serves
more
customers.
We
talked
to
some
enterprise
customers
who
said
well:
I,
don't
have
the
liberty
of
the
authority
to
create
new
resources.
B
B
Loading
now
we're
hurting
ourselves
in
this
demo,
because
we
are,
we
also
did
some
performance
work
and
this
dialog
is
now
coming
up
super
fast,
so
I
actually
don't
have
a
lot
of
opportunity
to
go
and
click
this
quickly.
But
I
wanted
to
point
out
that
the
button
doesn't
need
the
list
be
loaded.
You
don't
have
to
wait.
If
you
know
you
wanna
create
in
your
storage
account,
you
can
just
fire
it
up
the
dialog
and
create
in
your
storage,
account
I'm.
B
I
hope
not
I
mean
I
am
blown
away
by
how
quickly
does
it
bunch
of
people
that
saw
it
without
being
warned
about
it?
They
said,
oh,
you
have
a
bug
that
didn't
read
the
data
and
would
like
you
did
it.
Don't
worry
it's
great
I
love
it
so
yeah.
There
is
no
way
I'm
showing
you.
This
is
because,
first
of
all,
this
is
a
design
pattern.
We
expect
to
use
all
over
the
place.
So
if
there
is
feedback
about
it,
if
there
is
things
that
we've
missed
or
use
cases,
we
can
do
better.
B
A
B
So
developer
community
is
a
place
where
customers
can
go
and
log
issues
bugs
suggestions,
anything
that's
on
their
mind
and
this
information
comes
directly
to
the
product
team.
You
show
me
how
to
do
it
sure
you
can
do
it
both
from
the
product
and
the
website,
so
yeah
I
was
gonna,
cheat
and
say
just
use
the
product.
Let's
use
the
product,
so
I'm,
just
gonna
close
down
this
dialog
and
it's
called
report
a
problem
on
the
top
right
corner
of
Visual
Studio.
B
So
in
2019
it's
this
icon
here
called
send
feedback
and
after
I
click
it
I,
get
two
options
report
a
problem
or
suggest
the
feature.
Let
me
go
back
in
2017
and
it's
the
same
icon,
just
a
slightly
different
location,
it's
at
the
top
of
the
product
and
you
get
the
same
options.
I'll
go
back
to
the
latest.
I'll
say
suggest
a
feature,
and
that
gets
you
directly
into
the
developer
community
section
for
Visual
Studio
and
then
it's
good
to
first
search
what
you
want
to
suggest
in
case.
B
Somebody
else
has
suggested
it
or
something
similar,
because
it
really
helps
us
to
have
one
issue
that
the
community
puts
their
weight
behind.
It
makes
it
much
easier
for
us
to
say
look
a
bunch
of
people
are
asking
for
this
one
item
rather
than
oh,
we
have
a
whole
bunch
of
different
items
and
the
probability
the
same
thing.
So
it
helps
us,
but
it's
not
the
end
of
the
day.
The.
A
B
B
B
This
is
great,
that's
exactly
the
kind
of
conversation
I
want
to
have.
We
are
definitely
having
it
sortable.
Yes,
you
can
sort
by
all
different
columns.
The
current
control
doesn't
draw
the
short
order,
usually
the
little
triangle
that
tells
you
this
column
is
sorted.
That's
just
a
little
bag
for
preview
that
we're
gonna
go
get
a
fix.
On
top
of
that,
the
top
of
the
table,
we
have
a
subscription
picker.
Well,
it's
more
like
a
filter
because
you're
not
picking
the
subscription
you
just
basically
filtering
the
table
below
to
that
subscription.
B
A
Thanks
so
this
is
mostly
I
think
what
you
and
I
had
prepared,
obviously,
is
supposed
to
be
relatively
community
relatively
informal.
Any
other
questions
on
the
chat
before
we
I
just.
B
Want
to
mention
in
closing
that
the
reason
why
I
said
earlier
that
the
cue
ball
thing
you
stole
a
bit
of
my
example.
Here's
what
I
wanted
to
say
I
wanted
to
say
that
the
reason
why
we
think
it's
a
good
idea
to
enable
Visual
Studio
to
understand
environments
more
than
just
a
target
is
this.
We
talked
about
keyboard
and
how
some
people
may
want
to
use
it
only
in
production,
maybe
some
people
when
I
use
it
in
some
flow
people
dodging
and
testing
system.
B
Some
people,
maybe
even
when
I
use
it
during
f5,
but
that's
a
choice.
So
a
perfectly
valid
configuration
is
for
local
f5
to
use
user
secrets,
just
like
you
said,
which
is
what
it's
designed
for,
and
for
a
shared
environment
or
production
to
use
key
vault,
which
is
great.
That's
that's
a
great
pattern
and
Visual
Studio
helps
you
add
key
vault
capabilities
to
your
code,
but
it
doesn't
have
the
concept
of
an
environment
yet
so
it
can't
help
you
to
add
evil
to
a
particular
environment.