►
From YouTube: Languages & Runtime: .NET Standup - May 14th 2020 - Updates with Immo, Kathleen, and Phillip
Description
Join members from the .NET teams for our community standup covering great community contributions for Framework, .NET Core, Languages, CLI, MSBuild, and more.
A
A
A
B
C
C
This
is
the
dot
net
and
run
time
going
to
use
the
head
up
the
asp.net
one
already
happened
two
days
ago
there
was
some
hiccup
on
the
youtube
side
where
it
was
disconnecting
with
the
with
the
wrong
titles,
but
other
than
that,
it's
all
good.
So
that's
what
I
want
to
say.
Oh
yes,
so
today
we
want
to
talk
a
little
bit
about
runtime
stuff,
so
I
have
some
things
I
want
to
talk
about.
C
I
think
philip
has
some
f
sharp
things
he
wants
to
talk
about,
and
I
think
kathleen
had
some
interesting
ideas.
She
wanted
to
talk
about
probably
involving
the
bad
word
starting
with
v,
but
I'm
not
actually
I'm
not
saying
right
now,
all
right
so.
D
C
Hi
and
all
right
now,
you
can
hopefully
hear
me
and
see
my
screen
at
the
same
time.
Isn't
that
magic,
so
yeah
we're
streaming
from
home
and
there's
always
something
new
that
doesn't
work.
So
the
thing
I
wanted
to
briefly
mention
is,
if
you're,
a
contributor
check
out
the
server
that
we
have,
and
so
what
we
want
to
talk
about
here
is
effectively
there's
a
survey
that
you
should
fill
out.
It
has,
I
think,
30
questions
or
something
like
this,
which
should
take
you
like.
C
That
text
boxes,
which
are
basically
like
you
know,
are
there
any
other
things
you
did
before
repost
and
then,
generally
speaking,
how
happy
were
you,
and
so
this
happiness
is
basically
a
bunch
of
different
things
right,
it's
yeah!
It's
effectively
us
trying
to
figure
out
whether
we
should
improve
the
tooling,
whether
we
improve
the
documentation
or
whether
we
should
just
improve
generally
speaking
or
or
github
structure
when
it
comes
to
discovering
repositories
right
because
we
have,
I
don't
know,
that's
interesting.
C
I
checked
with
like
200
or
300
repositories
on
github,
so
it
can
be
challenged
just
finding
the
correct
report,
finding
the
correct
set
of
people
and
then
there's
also
the
overall
problems
that
I
think
we're
trying
to
solve
as
well,
which
is
you
know
when
you
file
an
issue
when
you
file
a
pr?
How
long
does
it
actually
take
us
to
respond
to
that
right
and
different
repos?
C
Have
you
know
different
amounts
of
people
watching
this,
so
our
response
times
are
generally
not
uniform
across
all
repositories,
and
you
know
we're
trying
to
like
improve
this
by
either
having
some
tooling
or
just
in
you
know,
staffing,
more
people,
but
watching
more,
you
know,
repositories,
and
so
that's
kind
of
where
we
are
right
now
and
I
think
we
already
had
a
bunch
of
people
filling
in
the
survey.
If
you
haven't
please,
please
do
so
if
you
haven't
contributed
to
the
repos,
but
you
filed
issues
that
also
counts
as
contributions.
C
So
it's
not
just
prs.
It's
kind
of
any
interactions
you
had
with
us
on
the
github
side
and
we're
just
really
curious
to
see
what
the
feedback
ends
up
being,
and
then
I
didn't
say
today,
but
this
session
here
is
really
meant
to
be
interactive,
so
make
sure
to
ask
tons
of
questions
in
chat,
and
hopefully
that
is
working
for
us,
so
somebody
says
in
chat.
It
was
really
quiet.
Kathleen
is
echoing.
I
should
not
be
really
quiet
right
now.
C
I
think
I
fixed
that
part
and
kathleen
isn't
saying
anything
right
now,
so
she
can't
be
echoing
that
badly.
Yeah.
D
D
Am
I
still
still
echoing
folks.
E
C
E
Didn't
hear
any
echo
from
you,
but
I
don't.
C
Yeah,
I
can't
even
hear
it
on
my
own
machine,
so
there
must
be
some
it's
possible
that
there
is
some
issue
with
the.
Why
skype
streams,
because
today
we're
using
skype,
not
teams
in
the
hope
that
we
get
better
video
signal
out
of
that.
But
if
that
doesn't
work
for
us,
we
are
switching
back
to
teams
next
time
you're
doing
this,
some
reverb
is
going
on,
apparently,
which
is
funny
because
I
can't
I
can't
see
it
in
the
audio
meters
anyway.
So.
C
Is
what
we
had
for
the
for
the
for
the
for
the
repo
experience
survey?
If
you
have
any
questions
on
that
one
or
if
you
have
any
comments
on
this
one
in
the
chat,
please
do
so.
A
I
think
I
think
it
is.
B
E
B
E
So
by
this
preview,
we'll
have
full
support
for
interoperating
with
default
interface
methods.
Sorry
default
interface
members,
it's
not
just
methods;
it
could
also
be
properties
from
f
sharp,
we're
explicitly
not
allowing
the
f
sharp
compiler
to
produce
them,
but
we
are
allowing
them
to
consume
them.
So
if
you
have
any
api
that
depends
on
consuming
a
default
interface
member,
then
you
can
just
trivially
do
that
from
app
shark
and
that's
really
sort
of
the
main
feature.
That's
landing
in
the
forthcoming
preview.
E
That's
going
to
be
landing
at
build,
however,
there
are
a
lot
of
improvements
related
to
the
compiler
and
tools
that
are
going
to
be
shipping
there
too.
The
first
thing
that
we
did
is
it's
not
really
like
specific
to
this
preview,
but
especially
over
the
past
I'd
say
six
months:
a
year
to
the
past
six
months,
we've
been
working
a
lot
on
performance,
the
f-sharp,
compiler
and
tools,
and
we
have
this
project.
E
E
And
so
it's
a
really
good
testbed
for
seeing
if
we've
you
know
improved
or
if
we've
declined
in
some
respect
with,
you
know,
with
regards
to
building
a
project,
and
so
it
kind
of
varies
from
machine
to
machine
and
depending
on
the,
like,
the
priority
of
the
process
that
you're
compiling
on,
but
I've
I've
seen
on
my
own
machine
anywhere
from
a
20
to
a
35
improvement
in
compile
times
for
that
project
with
the
latest
f-sharp
compiler
and
so
like,
in
fact,
on
my
own
machine.
E
I
think
it
was
yesterday
if
I
use
an
older
compiler,
from.net
3.1,
it
would
take
about
a
minute
and
30
seconds
to
build
the
project
and
if
I
use
the
dot
five
compiler,
it
takes
about
a
minute
which
is
a
pretty
big
improvement.
Now
subsequent
runs.
It
kind
of
depends
because,
like
not
all
like,
it's
not
always
a
high
priority
process,
and
so
sometimes
it's
it's.
It's
it'll
be
like
20.
A
E
Sometimes
25
or
something
like
that,
if
I
run
it
on
my
mac,
sometimes
it's
a
little
different
too,
but
like
basically
no
matter
where
I
run
it
and
how
I
run
it.
It's
always
faster
which
is
pretty
great
and
then
the
other
big
one
that
we're
that
we're
doing
is.
We've
been
continually
trying
to
improve
f-sharp
tooling
in
visual
studio,
and
a
big
chunk
of
that
is
releasing
with
the
visual
studio.
E
16.6
update,
that's
going
to
be
shipping
with
built,
in
particular,
there's
sort
of
this
core
routine
of
finding
symbols
that
tooling
does
and
that
powers
things
like
find
references
and
rename
where
it
says.
Oh,
you
have
a
symbol.
I
need
to
find
everywhere
where
that
symbol
is
being
used
in
your
code
base,
and
so
you
can
imagine
if
you
have.
E
A
whole
bunch
of
code
there's
a
whole
lot
of
symbols
that
it
has
to
go
through
and
check
to
see.
Oh
is
this
one
of
those
and
so
on.
It's
like
an
inherently
expensive
operation.
However,
that
doesn't
mean
it
can't
be
made
as
good
as
possible
and
up
until
16.6.
E
It
was
arguably
not
done
as
good
as
it
possibly
could.
Sort
of
the
way
that
this
feature
would
work
in
visual
studio
today
is,
it
would
sort
of,
say:
okay,
I'm
going
to
scan
your
entire
code
base
and
I'm
going
to
build
up
this
big
old
list
of
symbols
and
then
once
I
have
the
entire
thing,
I'm
going
to
start
processing
it
all.
E
But
the
problem
with
that
is,
first
of
all,
if
you're
doing
fine
graphs
and
you're
you're
using
say
the
f
sharp
compiler
code
base,
which
has
300
lines,
f,
sharp,
which
is
on
the
order
of
at
least
a
million
c
sharp
lines
of
code,
like
that's,
that's
kind
of
a
scale
that
we're
talking
about
here
churning
through
that
much
stuff
before
showing
anything
to
the
user,
is
not
a
very
good
experience
and
then,
second
of
all
that
actually,
if
you
have
to
collect
the
entire
set
first
you're
storing
that
all
in
memory
and
that's
a
really
big,
basically
a
giant
array
that
you
have
in
memory
which
can
allocate
a
large
object
heap
and
if
you
allocate
them
a
large
object
heap
in
visual
studio.
E
Tooling,
that's
like
skull
and
crossbones
territory.
Like
you,
don't
you
don't
want
to
do
that?
That'll,
just
that'll,
just
totally
trash
your
performance,
so
we
fundamentally
change
this
this
core
routine.
E
That
finds
symbols
to
basically,
depending
on
the
thing,
that's
calling
it
sort
of
yield
back
a
symbol
whenever
we
found
something
and
then
we've
also
changed
the
presentation
layer
for
that
in
visual
studio,
because
you'll
notice,
if
you
do
find
references,
it
shows
up
in
the
find
references
window,
and
then
it
has
colors
right,
like
it'll
colorize,
like
the
line
of
code
that
that
you
see
it
being
referenced
in
and
you'll
be
able
to
see
like
if
it
has
the
class
color
or
the
keyword
color
or
something
like
that.
E
The
way
that
that
was
getting
colorized
was
also
inefficient,
and
so
you
would
kind
of
have
this
double
whammy
with
find
references
where
it
would
be
really
inefficient
to
find
all
the
symbols,
and
that
would
also
be
really
inefficient
to
display
all
of
the
symbols,
because
when
it
would
colorize
things
it
wouldn't
do
it
in
an
optimized
way.
It
would
actually
say:
oh
this
snippet
lives
in
this
document.
So
we
need
to
classify
this
whole
document
and
then
give
you
all
of
the
data
that
relates
to
just
this
little
snippet.
E
So
one
of
the
big
different
like
it
made
a
huge
difference
so
in
the
f-sharp
compiler
code
base
before,
if
I
did
something
like
find
references
on
the
bool
type,
which
would
give
back
like
tens
of
thousands
of
results,
it
would
ultimately
cause
visual
studio
to
go
out
of
memory,
because
there
was
just
so
many
places
that
it
was
being
used
and
so
much
stuff
that
was
just
happening
that
was
frankly
unnecessary
today.
Not
only
does
it
not
go
out,
not
only
does
it
not
go,
but
it
rarely
gets
above.
E
You
know
two
gigs
when
I
do
something
that,
like
wild
from
an
operation
standpoint-
and
I
see
results
immediately,
basically,
as
as
the
results
sort
of
happen,
they
get
yielded
back.
So
if
you're
doing
things
like
find,
refs
and
rename
and
a
large
f-sharp
code
base,
you
should
definitely
notice
an
improvement
all
up
in
terms
of
performance,
but
then
also
specifically,
those
features
should
work
a
lot
faster
and
feel
a
lot
more
responsive.
So
that's
sort
of
like
the
main,
the
main
stuff
that's
happening.
E
With
the
release,
that's
going
to
be
going
out
at
build
with
f
sharp.
So
then
I
think
the
other
thing
that
I
wanted
to
mention
was
with
net
5
preview
3.
We
released
the
first
preview
of
c-sharp
source
generators,
which
was
apparently
quite
a
hit.
We
expected
you
know
some
excitement
from
library
authors,
but
I
don't
think
we
expected
as
much
excitement
as
there
actually
was.
E
There
were
like
the
blog
posts
for
that
got
an
insane
amount
of
comments
from
all
kinds
of
people
who
are
doing
interesting
stuff,
like
you
know
not
just
nuget
package
authors
and
one
of
the
you
know,
we've
been
able
to
collect
a
whole
lot
of
feedback
from
that
which
is
really
great
and
so
there's
one
of
those
updates
is
we're.
E
Gonna,
send
out
an
update
with
preview,
four,
which
is
going
to
be
going
out,
build
to
have
one
of
the
things
that
people
have
asked
for,
which
is
being
able
to
pass
sort
of
a
configuration
into
a
source
generator.
So
you
can
imagine,
for
example,
say
I'm
writing
a
source
generator
that
you
know
I
want
to
inspect
user
code,
but
like
the
user
code,
it
might
be
like
like
it.
There
might
be
different
like
places
that
it's
running
right
like
what.
If
the
user
code
is
running
on
dot
framework,
4.5
and.
E
Framework
stuff,
I
want
to
admit
things
that
are
going
to
be
compatible
with
where
those
people
are
running
the
code,
but
there's
sort
of
no
way
to
do
that
today,
with
with
source
generators,
you
kind
of
kind
of
gotta,
guess
or
like
you
know,
maybe
you
could
contrive
a
way
for
it
to
work,
but
it's
really
hard,
but
so
really
that's
sort
of
a
configuration
setting
that
you
can
get
passed
in.
You
basically
say
like
oh
well,
you
know
this
caller
has
this
tfm,
and
so
they
can
say.
E
Okay
well,
based
off
of
this
information,
I'm
going
to
possibly
generate
source
code
a
little
bit
differently
so
that
when
it
gets
loaded
into
that
context,
they
get
the
right
generated
source
code.
That's
that's
something
that
we
got
as
direct
feedback
actually
from
somebody
saying
that
they
wanted
to
write
a
source
generator
that
could
generate
code
that
could
be
used
across
different
domain
framework
versions
because
their
sdk
that
they
develop
had
to
be
available
across.
You
know
all
sorts
of
environments.
E
You
know,
even
though
they
wanted
those
those
people
to
all
upgrade
those
people,
weren't
necessarily
able
to
upgrade.
At
this
point,
but
they
still
wanted
to
be
able
to
use
the
sdk
and
use
the
generate
source
and
that
sort
of
stuff.
So
it's
not
obviously
it's
not
just
limited
to
tfm's
it's
it's.
It
actually
uses
the.
E
You
know
you
can
just
have
sort
of
any
configuration
of
like
this
key
and
this
value
you
can
pass
that
into
a
source
generator.
You
can
read
that
config
and
you
can
just
do
stuff
based
off
of
the
configuration
you're
being
passed.
That's
sort
of
one
of
the
one
of
the
bigger
updates
going
out
for
source
generators,
and
you
know
like
bug.
E
Pics,
isn't
that
sort
of
stuff,
and
I
think
we'll
probably
do
like
another
call
to
action,
for
you
know
next
week
for
source
generators,
just
sort
of
like
reiterating
hey
everybody,
who's
really
excited.
Try
out
the
new
thing.
Tell
us
what
you
like:
keep
telling
us
your
scenarios
and
things
you'd
like
to
do,
because
we
want
to
collect
as
much
info
as
we
can
and
make
sure
that
we're
shipping
the
right
thing
this
fall.
So
that's
that's
pretty
much
all
I.
C
C
I
think
it's
probably
the
first
time
that
we
use
the
term
generation
that
carefully
improves
off,
because
she
always
reminds
us
that
code
gen
for
most
people
is
not
the
jit.
It's
the
you
know
it's
the
ability
to
image
source
code
at
compile
time
right
so
kevlin.
How
do
you?
What
are
your
thoughts
on
source
generation?
D
Oh,
no,
I'm
not!
Okay!
Sorry
about
that
that
no
I
love
it.
I
think.
Support
generators
are
great.
I've
got
a
usage
I'll
be
doing
or
finding
somebody
to
help
me.
I'm
a
little
intimidated
about
getting
into
the
roslin
code
base.
I've
been
in
there
before,
but
it's
been
a
little
while,
but
the
there's
some
work
on
system
command
line
that
we're
gonna,
be
able
to
use
source
generation
to
create
a
really
cool
startup
experience.
So
I
can't
wait
to
get
that
to
get
that
in
place.
D
So
yeah,
I
think
it's
got.
It's
gonna
have
some
really
interesting
applications,
but
I'm
super
excited
about
what
we're
thinking
about
doing
with
it.
Yeah
there's
some
other
stuff
coming
in
c
sharp
as
well,
and
so
next
week,
mads
and
mez
ferguson
and
justin
campbell
are
going
to
be
doing
a
session
at
build,
and
I
highly
recommend
that
you
watch
that,
both
because
they're
very
entertaining
and
fun
and
because
their
bits
are
extremely
extremely
new.
D
So
so
it
should
be
an
interesting
talk,
but
there's
a
couple
things
coming:
two
c
sharp.
D
In
addition,
there's
going
to
be
a
version
of
records
and
if
you
want
to
catch
up
on
any
of
this
stuff,
you
can
look
at
the
ldm
notes
at
github.com.net
c,
sharp
lang
c,
l,
a
n
g
and
the
language
design
notes
are
there,
and
so
you
can
check
out
and
see
what's
coming,
we're
looking
at
a
not
operator
which
is
going
to
be
super
nice,
because
if
you've
been
writing
a
comparison
to
null
is
better
to
do
with
is
just
in
case
somebody
ever
redefines
equals
in
a
way
that
that
isn't
copacetic
with
what
you're
doing
is
will
bypass
that.
D
So,
if
you've
been
writing
dot
open
parens,
something
is
not
close.
Parents
close
parents,
then
you'll
be
able
to
skip
that
and
just
say,
is
not
null.
There's
a
couple
of
other
operators
in
the
match.
Space
and
an
orb
might
be
coming
in.
D
So
you
see
some
of
that
and
top-level
statements
which
we're
experimenting
with.
I
don't
know
if
that's
gonna
be
talked
about
it
build,
but
we're
definitely
experimenting
in
that
space.
Phil.
A
Talked
about
source
generators.
Another
thing
is.
D
D
And
what
this
means
is
that
you'll
be
able
to
do
a
do
object.
D
E
Excited
about
that,
I
think
that's
going
to
be.
D
Really
nice
for
folks,
it
ties
into
records
it's
this
work
kind
of
ties
together.
So
those
are
some
of
the
things
that's
going
to
be
coming
along
and
mads
and
dustin
will
cover
that
more
next
week.
D
E
No,
I
mean,
I
think,
really
I
I
think
mads
is
mads-
is
gonna
be
coming
out
with
a
post
sometime
next
next
week,
that's
going
to
really
sort
of
be
like
the
first
introducing
c
sharp
nine
check
out
all
this
awesome
stuff.
That's
gonna
go
along
with
the
post,
I'm
kind
of
just
sort
of
waiting
for
that,
because
I
think
he's
got
like
the
the
the
right
like
message
about
it.
D
Well,
yeah
he's
gonna
have
some
great
samples,
both
in
the
both
in
the
talk
and
then
in
the
blog
post.
So
I
completely
agree
that
for
to
actually
get
deeper,
I
was
just
hinting
which
directions
that
where
things
are
headed-
and
you
know,
I'm
hoping
that
we're
going
to
finally
get
records
right
and
get
that
out,
so
people
can
do
small
immutable
classes
very
easily
and
not
have
to
go
through
some
of
the
pain
of
today.
So
it's
pretty
it's
going
to
be
a
pretty
exciting
release.
C
D
Yeah,
so
when
you
go
to
that
repo,
let's
see,
do
I
still
have
it
open
yeah.
I
do
so
I'm
going
to
the
route,
so
I
can
find
it
meetings
under
meetings,
you're
going
to
see
and
they'll
reference
back
to
proposals,
you'll
see
a
bunch
of
years
starting
in
2013,
and
if
you
open
2020,
you
get
to
see
every
time
the
c-sharp
ldm
meets
and
annie
gottke
does
a
fantastic
job
of
taking
notes
on
that
meeting,
and
so
you
can.
He
does
a
magic
shorthand.
D
D
Yeah,
that's
going
to
be
meds's
post,
that's
madison's,
blog
post
next
week
is
going
to
be
where
you
see
that.
There's
no
summary
this.
This
is
just
if
you
want
to
keep
up
on
ongoing
basis
and
perhaps
even
comment
on
what's
going
on
in
the
ldm,
and
this
is
where
there's
the
you
know
the
painstaking
work,
because
commas
matter
in
c
sharp
and
when
we
design
a
syntax
it
it's
incredibly
detailed
and
tedious
process
to
get
it
right.
D
Just
like
it
is
on
the
bcl,
and
when
we
go
through
that
process,
the
language
design
takes
an
approach
of
being
a
closed
meeting
with
public
notes
afterwards,
and
that
makes
it
a
little
bit
easier
for
us
to
get
a
little
passionate.
Sometimes
I'm
sure
that
might
have
happened
in
in
ldm
once
or
twice
so.
Yeah.
D
Never
never
never
never
yeah
yeah,
so
yeah,
so
the
v
words
we
were
joking
about
were
the
the
the
word
that
emo
hassles
me
about
is
versioning.
I
don't
think
I
need
to
talk
about
version
versions
today,
unless
we
get
too
deep
into
a
couple
things
that
I
can
talk
about.
D
If
people
are
interested
and
then
and
then
visual
basic-
and
you
know
it's,
it's,
it's
gonna,
be
there,
it's
it's
coming
to.net
core
and
we're
doing
work
on
it,
and
you
know
finishing
some
stuff
up
on
that
and
it's
you
know
on
my
backlog
to
get
a
blog
post
put
together,
we're
not
quite
ready
for
that,
but
getting
really
close.
D
C
D
You
thank
you,
but
we
would
like
some
questions.
You
know
that
I
mean
I
was
thinking
about
talking
about
like
the
relationship
between
ms
building
visual
studio,
and
you
know
that
might
sound
like
less
exciting
than
something
else
you
might
ask
about,
but
I
I
have
been
into
it
lately
and
realizing
that
most
people
don't
understand
that
relationship
very
well.
So
I
can
certainly
talk
about
that.
But
what
do
you
have?
Emo.
C
Yeah,
my
world
is
not
much
new
like
most
of
the
time
like
well
yeah.
Most
of
my
time
is
being
spent
right
now
on
all
the
tfm
work
still
right,
there's
a
lot
of
stuff
going
on
in
that
space,
but
you
know
this
is
particularly
interesting
in
the
sense
that
it's
all
just
mechanics
at
this
point
right
we're
talking
about
what
needs
to
happen.
E
C
Order
to
plug
things
through,
but
I'm
really
excited
about
it,
because
the
outcome,
I
think,
will
be
much
easier
to
understand
once
we
have
it
in
place.
D
Oh
my
gosh,
the
amount
of
thought
that
goes
into
that
and
it's
it's
changed
once
or
twice
so
so,
what's
the
what's,
what's
it
going
out
as
what
are
we
going
to
build
with?
What's
the
what
is
the
net?
What
is
the
net
5
tfm.
C
So
for
dot
net
5,
what
we
have
is
basically
simplifying
our
tfms
into
something
that
kind
of
mirrors
more
closely
the
layer
diagrams
that
we
show
people
right.
We
always
have
the
same
layer
diagram
in
different
colors,
but
pretty
much.
We
have
this
thing
at
the
bottom,
which
is
the
shared
layer
that
everybody
has
which,
in
the
past
we
called.net
standard,
and
now
we
will
just
call
that
effectively.5.6.7,
which
is
you
know,
the
foundation
of
the
platform
right
and
then
we
have
what
we
effectively
call
the
platform-specific
tfms
on
top
right.
C
We
will
have
something
like
you
know,
ios
or
android,
on
top
of
it,
and
they
effectively
have
all
the
apis
that
the
bottom
layer
has
plus
all
the
apis
that
make
sense
for
that
particular
environment,
right
and
then
effectively.
What
people
can
do
now
is
they
can
they
can
look
at
the
layer
diagram
and
they
can
understand?
Okay,
I
need
to
write
code
that
has
to
run
all
the
places
so
that
I
target
the
foundation
or
they
can
say.
Oh
I
want
to.
I
want
to
call
it
an
ios
specific
api.
C
Well
then,
you
have
to
target
this.
Other
thing
right,
and
so
the
syntax
of
the
tfms
will
be
very
simple.
We
will
have
you
know
we
will
continue
the
net
framework
tfm,
which
was
net
version
number
right,
so
you
know
net
for
five
net
for
seven
and
now
it
would
be
net
five,
which
is
basically
the
unified
dot
net
platform.
C
That
is
core
based
moving
forward
and
then
the
only
thing
we're
adding
is
the
you
know
the
u.s
specific
views
on
top
of
it,
which
would
be
net
five
dash,
whatever
the
os
is
right
and,
of
course,
net
six
dash.
Whatever
the
os
is
right,
and
so
then
it
should
be
relatively
easy
to
look
at
a
new
get
package,
for
example,
and
you
can
look
at
those
strings
in
those
folders
and
you
should
be
able
to
have
a
you
know,
have
a
relationship
in
your
head
that
says.
C
All
these
different
tfms
that
are
undulated
in
version
space
and
yeah
and
basically
have
you,
know
all
the
other
things
on
top
and
then
you
have
to
reason
about
who
is
getting,
which
version
effectively
right
all
right,
I'm
targeting.net
framework
for
seven
which.incentive
version.
Do
I
get
or
I'm
on
zero
and
12,
which
dot
the
standard
version?
Will
I
get
right
in
the
new
world,
it's
all
simpler,
because
we
just
have
the
version
number
effectively
for
the
net
platform
and
then
the
os
specific
version
on
the
other
side.
C
D
Yeah,
so
a
lot
of
that
went
into
getting
us
there.
You
know
I
just
thought
about
something
on
build.
You
know
next
on
the
19th
we're
all
going
to
be
together
again
for
for
us,
the
experts
you're
joining
us
too.
Aren't
you
phillip
for
the
ask
the
experts
at
build?
Are
you
coming.
D
B
B
D
D
Messed
up
along
the
way
so
yeah,
so
I
thought
I'd
put
you
put
put
you
on
there
and
I
know
emo's
on
there,
because
he's
gonna
help
me
out
with
some
of
the
tech
stuff
that.
D
Yeah
yeah
so
anyway
ask
the
experts
is
going
to
be
like
this.
Only
more
so
like
we'll,
probably
have
some
questions
made
up,
but
we're
going
to
be
answering
questions,
and
so
we
really
would
like
it.
If
folks
came
with
questions,
we're
going
to
have
rainer
from
ms
bill,
so
we're
going
to
have
an
ms
build
expert.
I
don't
have
the
list
in
front
of
me
of
of
who's
coming,
but
we're
going
to
have
jared,
I
believe,
is
coming
from
the
compiler
team.
So
we'll
have
that
side
of
c
sharp.
D
I
think
fred's
coming
so
we're
going
to
have
somebody
and
another
engineer
on
c
sharp
we've
got
jeremy's
coming
for
indy
framework
journey.
Jeremy
lightness
is
coming
for
that,
and
so
we've
got
folks
from
all
over.
I
think
olea
gavrish
is
coming
for
winforms
side
of
the
house,
so
we're
going
to
have
all
sorts
of
people
there
and
talkabout.net
from
many
different
many
different
directions,
so
definitely
calm
definitely
bring
questions.
D
It'll
be
a
broader
and
more
more
well
even
more
expert
than
us,
so
it'll
be
it'll,
be
a
very
good
time
and
hopefully
we'll
have
a
bunch
of
people
there
we
can
handle.
There's
like
no
way
we're
gonna
max
that
room
so
feel
free
to
drop
by
and
check
it
out.
D
C
C
I
don't
know
what
happened
but
like
some
people,
pinged
me
that
didn't
have
the
meeting,
because
I
cancelled
the
the
one
that
I
set
up
because
they
said
there's
another
official
one
out
and
then
people
picked
me
and
said:
I'm
not
on
the
official
one
and
then
I
looked
at
it.
No,
they
were
under
the
official
one,
but
I
still
didn't
get
it.
D
D
E
C
On
it,
so
let
me.
D
All
right,
so
we
have,
we
have
the
languages
represented.
We've
got
the
the
sdk
representative.
We
got
ms
build
experts
to
answer
your
serious
summer's,
build
questions.
I'm
on
a
one
of
my
one
of
my
goals
that
I'm
setting
myself
for
the
next
six
months
is
that
we
will
get
a
better
story
out
about
ms
bill.
D
So
people
better
understand
what
happens
when
you
hit
build,
because
all
that
magic
there's
a
great
line
in
one
of
jk
rowling's
book,
where,
where
the
the
weasley
father
says,
never
trust
magic,
you
can't
see
and
emma's
build,
has
gotten
a
bit
too
people
just
kind
of
close
their
eyes
and
push
the
button,
and
it's
actually
very
understandable.
It's
complicated,
but
it
is
understandable.
So
rainer
will
be
there
he's
my
go-to
person
every
time.
Ms
spell
gets
too
complicated
for
me,
which
happens
pretty
often
so
yeah.
C
E
C
Not
the
right
way
of
doing
it,
but
I
think
now.
Actually
I
use
it
quite
a
lot
and
I
feel
much
more
comfortable
about
you
know
modifying
xml
directly
and
getting
the
outputs
that
I
want.
But
there
certainly
is
a
lot.
D
D
Why
is
it
that
ms
build
sometimes
has
changes
that
are
you
know
difficult
for
people
and
that
can
be
as
simple
as
adding
a
property
and
somebody's
using
that
property,
because
there's
only
a
single
name
space
inside
ms
build
and
so
some
of
this
kind
of
stuff,
it's
very
very
hard
for
us
to
change.
Misbuild
the
world
depends
on
ms
build.
Our
world.net
depends
on
ms
build
and
people
have
done
things,
so
we
do
change
it
to
make
it
better
and
faster,
but
we
we
try
really
hard
not
to
have
breaks.
D
We
don't
need,
but
sometimes
that
that
happens.
Ms
ms
build
is
just
a
bit
of
a
it's
a
bit
fragile
in
that
sense,
because,
ultimately,
it's
just
an
orchestrator.
It
will
run
what
you
want
it
to
run,
but
it
does
that
in
a
context,
that's
shared
with
all
the
other
things
that
are
running,
and
so
you
know
somebody
changes
the
value,
then
that
can
have
very
negative
impacts
on
other
part
of
the
msl
pipelines.
So
yeah.
D
C
Is
that
every
property
is
yeah
effectively
a
global
environment
variable
right,
because
if
you
have
a
global
environment
variable,
it
will
picked
it
up
and
we
had
plenty
of
cases
where
you
build
on
some
machine
that
happens
to
have
some
variable,
some
global
variable
defined
and
in
ms
build
you
have
logic
like
if
this
thing
is
not
set,
do
something
and
well
it
was
already
set,
but
it
was
set
to
something
that
didn't
make
sense
right
and
then
it
would
stop
building
right
so
yeah,
it's
it's.
Certainly
the
downside
of
extremely
typed
right.
D
Yeah
so
yeah
ms
bill
is
definitely
and
it's
it's
such
an
open,
such
an
open
tool
that
it
can
def.
It
can
do
just
about
anything
which
means
it
can
get
you
into
trouble.
So
if
you're
doing
stuff,
like
you
know,
one
of
the
things
I
want
to
work
on
and
render
and
I've
been
talking
about-
is
getting
the
documentation
updated
with,
like
the
top
three
or
four
things
that
people
might
do.
D
That
is
likely
to
get
you
into
trouble,
so
we're
working
with
the
docs
folks
to
set
up
a
plan
to
get
that
that
better
laid
out.
So
it's
easier
for
you
to
stay
out
of
trouble.
There.
C
Yeah
somebody
says
stupid
question,
but
what
is
the
tfm
so
yeah.
D
C
C
Yeah
tfm's
are
is
the
stands
for
target
framework
moniker
and,
as
philip
is
eager
to
point
out,
moniker
is
just
a
fancy
way
to
say
name:
it's
effectively
the
string
you
see
in
your
project
files
when
you
decide
what
version
of
net
you
are
targeting
right.
It's
like
net
core
app,
you
know
31,
for
example,
or
net
472
or
whatever
other
strings.
There
are
right,
and
so
it's
effectively
a
representation
of
what
dot
net.
C
In
dot
net
core
dot
net
five
web
frameworks
that
use
razer
syntax
and
we
see
we
use
blazer
laser
pages
or
c
sharp
only
is
it
possible.
We
can
evangelize
web
dev
in
f,
sharp
or
vb,
because
sometimes
the
world
thinks
and
microsoft
has
just
abandoned
the
other
languages.
I
know
there
are
great
f-sharp
options,
for
example,.
D
So
so,
the
years
ago,
when
the
razer
language,
the
razer,
was
put
together,
the
razer
engine
was
put
together.
It
was
put
together
as
a
single
language
thing
and
it's
big
and
it's
expensive
and
it's
highly
unlikely
we're
going
to
get
it
rewritten
for
for
visual
basic.
D
It
would
basically
involve
either
duplicating
everything
in
the
c-sharp
version,
which
would
be
extremely
expensive
to
do
that
and
then
make
the
changes
that
would
be
needed,
particularly
because
vb
would
need
special
work
around
xml
literals
and
things
like
that,
because
why
would
you
do
razer?
If
you
couldn't
do
these
really
cool
things
that
vb
can
do
or
to
spend
just
as
much
time
and
create
one
that
is
language.
A
There
are
some
things
that
we
we
may
be
able
to
do
in
terms
of
better
interact
between
speech
and
visual
basic,
to
make
it
easier
to
have
your
views
in
a
c-sharp
project
and
be
able
to
have
visual
basic
for
your
web
ap
for
your
entry
point,
so
you
know
it
can
be
if
you
see
as
long
as
you
get
out
from
your
views
or
web
api
and
then
also
get
back
in
the
data
and
the
places
where
the
release
shines.
A
So,
unfortunately,
the
vba
only
solution,
indian
on
asp.net
is
not
too
likely
to
happen.
Unfortunately,
so
sadness
on
that.
A
C
Star
core
2
application
need
to
first
be
okay,
so
I
think
it's
wrong.
Okay.
Does
the
dot-net
core
tool?
Application
need
to
first
be
upgraded
to
donate
core3,
then
to
core
five
or
is
there
a
direct
path
to
donate
five?
Is
the
upgrade
automatic
or
does
it
require
code
rights,
so
in
general,
don't
core5
or
sorry.net
5
is
effectively
just.net
core
5
right.
So
it's
just
a
rebranded
version
of
the
of
the
cloud
platform.
Maybe
just
skip
the
version
number
four
right.
C
C
Required
I
mean
there's
always
of
course,
because
we
go
across
major
version
boundaries
and
then
inquiry
a
bit
more
liberal
with
taking
breaking
changes,
but
we
do
tend
to
make
a
good
job
documenting
those
and
giving
you
you
know
information
about
what
you
have
to
do
to
make
them
work
by
and
large,
there's
not
like
source
required
necessary.
So
it's
not
like
we,
you
know
change
the
world
or
something,
and
then
you
have
to
do
some
crazy
gymnastics
to
get
there,
but
so
in
general
you
should
just
change
the
project
file.
C
If
you
happen
and
see
what
ends
up
happening
if
you're
coming
from
donation,
that's
a
different
story,
but
that's
that's
basically
where
to
try
convert
come
in.
That
would
take
your
app
and
be
write
it
well.
If
you
come
from
xamarin,
there
might
be
other
things
you
have
to
do,
but
from.net
core
2.9
core
is
a
very
straightforward,
upgrade.
A
It's
clearly
the
documentation
that
dot
core
2.0
and
2.2
are
both
out
of
support
as
is.net
core
3.0,
so
network.
D
2.1
and
network
3.1
are
in
support,
long-term
support,
they'll
be
there
for
a
couple
years,
but
2.0,
2.2
and
3.0
are
all
out
of
support
and
not
being
serviced.
So
I'd
really
encourage
you
to
try
to
get
on
to
one
of
those
two
versions
so
that
you're
able
to
service
your
runtimes
in
production
and
also
keep
your
your
dyna
core
sdk
up
to
date.
E
Yep
and
I
think,
just
sort
of
the
the
echo
somewhat
emma
was
saying,
as
as
one
of
the
authors
of
the
tri-convert
tool.
There's.
C
E
You
don't
you
don't
have
to
like
follow
this
linear
path
like
you,
can
just
go
from
donna
core
two
to
don
at
five.
If
you
like
and
like
you
know
the
the
act
of
like
getting
the
project
file
into
the
correct
shape,
it
would
be
fairly
straightforward.
E
But
you
would
probably
face
a
lot
of
problems
after
that,
because
the
api
incompatibilities,
especially
with
asp.net
core,
are
going
to
be
present,
and
so
that's
sort
of
where
the
bulk
of
the
time
is
going
to
be
spent
in
terms
of
moving
from
one.net
core
to
the
next
on
a
court.
And
that's
and
that's
something
that
I
think
you
know
has
has
stabilized
a
bit
more.
E
But
you
know
there
may
be
some
additional
api
breaking
changes
depending
on
what
you're
doing
and
where
you're,
where
you're
converting
to
and
where
you're
converting
from.
So
that's
just
sort
of
like
an
fyi
that,
like
it's
there's
in
terms
of
like
just
updating
the
tfm,
if
you
have
like
say
package
dependencies
at
all
target
on
a
standard,
it
should
be
fine
but
like
if
you
change
your
app
type
like.
If
you
change
to
asp.net
core
and
it's
like
the
very
latest,
you
may
get
some
breaking
changes.
E
There
may
be
some
third-party
packages
that
do
this
a
similar
sort
of
thing,
because
you
know
maybe
there's
some
there's
some.
You
know
some
specific
stuff
available
on
f5
or
down
the
core
three
that
wasn't
available
where
they
were
in
the
past.
So
that's
just
kind
of
something
to
be
a
little
aware
of.
C
D
D
Tfm
is
target
framework
as
target
framework
is
a
property
in
ms
build,
so
any
target
can
use
that
so
it's
available
throughout
in
this
global
name,
space
of
of
of
properties
that
members
build
has
one
of
those
is
the
the
tfm
you're
using
and
one
of
the
places
that's
used
is
when
you're
doing
a
new
get
restore,
and
so
that
allows
you
to
get
a
tfm
specific
versions
of
nuget
packages,
so
it
gets
used
in
quite
a
few
places
in
as
well
as
picking
up
the
right
runtime
for
you.
D
So
that's
why
that's
such
a
important
indicator
as
well
as
the
runtime.
It
does
other
things
as
well
to
keep
everything
lined
up.
That's
the
the
key
that
that
everything
depends
on
so
that
you
get
a
coherent
group
of
assets
when
you're
doing
your
your
build
into
a.net
application.
C
E
C
Not
that
important
like
for
the
most
part,
I
think
people
are
successful,
building
applications
without
even
know
being
aware
that
there's
such
a
thing
as
a
tfm
right-
and
I
think
the
party
that
has
probably
to
think
about
this-
the
most
is
basically
library,
authors
right
people
that
have
to
build
things
that
run
in
multiple
places
right
and
that's
fundamentally,
unfortunately,
harder
than
building
an
application.
So
there's
only
so
much
we
can
abstract
away
right,
there's
some
things
that
are
just
inherently
there
that
you
have
to
be
aware
of.
C
So,
for
example,
you
want
a
library
that
runs
on
windows
and
linux.
Well,
then,
there
are
differences
in
behavior
that
you
have.
As
a
library
author
have
to
be
aware
of
right,
if
you,
if
you,
for
example,
interact
with
path
apis
well,
pav
apis
behave
differently
between
windows
and
linux
right,
and
so
you
have
to
write
your
code
in
such
a
way
that
it
works
in
both
places
and
unfortunately,
those
differences
are
not
just
os
specific
differences.
They're
also
runtime-specific
differences
right,
because
different
execution
environments
have
different
policies.
C
For
example,
if
you
run
on
ios,
there
is
no
jit
right,
because
ios
does
not
allow
jittered
applications.
So
there's
a
code,
gen
story
for
ios
coming
or
I
think
it's
already
there
that
is
based
on
interpretation
and
that
allows
you
to
emit
il
and
actually
execute
it.
But
it
won't
be
very
fast
because
it's
interpreted
right
and
so
there's
apis.
We
expose.
You
can,
for
example,
ask
whether
you
get
fast
il
or
not.
C
But
again,
if
you
do
optimization
in
your
library,
you
want
to
make
things
faster
by
generating
code
at
runtime
rather
than
you
know.
For
example,
let's
say
you
build
a
regex,
maybe
you
want
to
emit
code
at
runtime
rather
than
you
know,
interpreting
the
regex.
Well,
that
only
makes
sense
if
the
runtime
you're
running
on
is
actually
executing
that
il
right.
If
it's
just
interpreting
that
il
probably
interpreting
the
projects
would
be
faster
than
going
by
il
right,
and
so
those
are
some
examples
where
it's
just
we
can't
quite
abstract
these
things
away
from
you.
C
We
can
try
to
make
things
simpler,
but
at
the
end
of
the
day,
if
you
want
to
write
code
once
in
multiple
places-
and
you
want
to
provide
high
fidelity,
there
are
things
you
have
to
just
think
about,
and
tfms
is
just
one
of
the
many
tools
we
have
that.
Allow
you
to
reason
about
the
differences
in
the
commonalities.
C
So,
there's
a
very
lengthy
one.
Let
me
read
this
devs
coming
from
dotnet
framework
four
plus
are
used
to
having
forward
compact
and
not
even
recompiling,
or
even
caring,
about
security
updates
because
of
windows
update
what
should.net
core
devs
be
thinking
about
in
terms
of
servicing,
paying
attention
to
security,
punches,
rebuilding,
redeploying
containers,
etc.
I
feel
like
devs
are
unprepared
for
this
new
world.
D
I
think
that
I
think
that
it's
a
change
that
we
we've
made
some
efforts
to
guide
people
through,
but
I
I
think
we
can
do
better
for
sure.
So
if
you
there's
different
ways,
you
can
build
your
application.
So
if
you
build
a
framework
dependent
application,
I'm
sorry
we're
starting
to
call
that
runtime
dependent
applications.
What
that
means
is
that
you
put
on
the
machine,
your
application
and
it
reaches
out
and
grabs
the
runtime
from
the
machine
that
if
that
machine,
has
a
runtime
patch
you're
going
to
run
on
that
patch.
D
However,
if
you
do
a
self-contained
application
and
the
self-contained
application
is
containing
the
entire
net
in
it,
that's
what
self-contained
apps
are.
They
take
the
version
that
you
that
you're
publishing
with
and
it
it
actually
deploys
it
on
the
machine.
The
good
side
of
that
is
that,
then
you
don't
have
to
worry
about
a
separate
path
to
get
the
runtime
onto
the
user's
machine.
The
bad
side
of
that
is
now
you're
responsible
for
servicing,
so
you'll
have
to
republish
when
there
is
a
runtime
change.
D
So
the
one
of
the
big
differences
is
for
for
really
good
reasons.
I
think
we
are
not
in
windows
and
non-windows
update,
so
getting
the
updated
runtime
on
the
machine
either
via
a
separate
process.
That's
done
once
per
machine
or
via
republishing.
Your
application
is
what
we
need
to
do,
because
we're
not
in
we're
not
in
windows
and
we're
not
using
windows
update
to
get
those
runtimes
out
to
people.
So
that
is
a
really
big
change,
and
I
agree
that
that
that
folks
are
not
always
ready
ready
for
that
difference.
C
Yeah,
so
some
people
are
saying
they
asked
questions
on
twitch,
where
we
only
look
at
youtube,
we're
looking
at
all
of
them,
but
it's
possible
that
we
missed
questions.
So
basically
we
have
a
unified
chat
view
where
we
can
see:
restream,
sorry,
youtube,
twitch
and
mixer.
So
we
see
all
of
them.
D
C
Missing
missing
yeah,
but
how
do
I
go
from
java
8
to
net
5?
C
C
Yeah
java
8.5,
I
mean
what's
interesting
with
java-
is
that
people
are,
I
don't
know
like
people
always
this
java,
but
java
and.net
are
very
similar
in
spirit
right,
there's,
some
design,
philosophy,
differences
that
we
have,
and
there
was
a
talk
recently
from
somebody
on
the
net
team
who
actually
came
from
sun
such
oracle,
about
what
these
differences
are.
But
if
I
were
to
summarize
them,
it
basically
boils
down
to
that.
Microsoft
has
been
more
eager
to
innovate
in
the
languages
versus
sun.
C
Slash
oracle
were
more
eager
to
innovate
in
the
runtime
and,
as
a
result,
there's
some
differences,
but
basically
the
exact
same
java
code.
You
wrote
15
years
ago
might
now
be
optimized
differently,
because
the
runtime
has
a
lot
more
abilities
so,
for
example,
d,
virtualize
and
inline
methods
versus
on
the
network.
We
basically
said
well,
we
want
predictable
performance
and
the
way
you
get
this
is
by
letting
the
developer
express
their
intent
right
versus
the
java
model.
C
Is
the
developer
just
writes
the
code
they
want
and
the
runtime
takes
care
of
that,
and
so
that
results
in
different
experiences
right
where
sometimes
the
java
one
is
better,
because
it
means
you
just
get
proof
optimizations
for
free.
Sometimes
the
net
model
is
better
because
if
you
change
code
around
you,
you
know
at
compile
time
what
behavior
you're
getting
rather
than
oh
now,
the
runtime
is
no
longer
able
to
optimize
it.
So
your
performance
tanks,
by
4x
right
and
so
there
are
those
differences
and
then
there's
just
you
know.
C
Differences
in
terms
of
you
know,
philosophy.
I
guess
where
you
know
we
have
a
certain
favor,
for
you
know
like
a
certain
like
you
know,
I
guess
taste
for
language
design
and
java
has
a
different
one,
but
by
and
large
they
are
very,
very
similar
same
with
apis
right
I
mean
there's
always
these
jokes
about.
I
think
this
is
website.
Is
this
a?
Is
this
a
fake
name?
C
Was
this
an
actual
api
name
in
the
in
the
in
the
java
spring
setup
and
they
present
you
with
four
api
names
and
they
all
look
like
markov.
Chain
generated
api
names,
but
apparently
three
of
them
are
real
and
one
of
them
is
fake,
but
I
mean,
like
you
know,
we
can
all
point
fingers
at
each
other
all
day.
Long
right,
like
no
platform,
is
perfect.
D
E
C
Oh,
my
god,
I
can't
believe
this
worked.
I
just
removed
philip
from
the
view
all.
C
Yes,
hopefully,
no
she'll
be
fine
yeah.
Let
me
just
quickly
see
whether
there's
more
questions.
C
D
D
It
well
well
yeah
it
yeah
we've
been
known
to
go
over
pretty
badly,
but
I
think
today
the
the
big
news
is
that
next
week
is
a
big
big,
build
event
and
you're
gonna
get
a
lot
of
information
there.
We're
super
excited
about
the
format
of
the
virtual,
build
and
setting
up
these
spaces
for
people
to
interact.
That's
the
the
big
thing
that
we
want
to
try
to
do
at
least
as
well
as
at
a
conference.
So
one
of
those
is
our
ask
the
experts.
D
But
if
you
look
at
the
schedule
there
is
a
ton
of
different
ways
for
you
to
get
one-on-one
with
with
a
team
or
with
a
particular
person
or
whatever
so
check
the
schedule
out
for
that
and
look
at
opportunities
to
to
come
and
ask
questions
and
hear
what
other
what
kind
of
questions
other
people
have.
So
we're
super
excited
about
that,
and
this
week's
a
little
bit.
I
think
it's
easy
to
end
early
because
we
are
just
all
you
know,
waiting
for
the
big
announcements.
D
Next
week
the
blog
post
that'll
clarify
things
that
you
know
we
didn't
have
samples
ready
because
they're
going
to
be
there
in
the
in
the
blog
posts
and
the
and
the
talks
next
week.
C
E
C
Watch
what's
going
on
so
make
sure
to
check
out
the
vlog.
C
Probably
blog
a
lot
in
next
week,
major
announcements
are
coming
and
yeah.
Then
I
think
I
guess
see
you
in
what
four
weeks
I
guess.