summaryrefslogtreecommitdiff
path: root/Documentation
diff options
context:
space:
mode:
authorRichard Lander <rlander@microsoft.com>2015-12-21 09:06:54 -0800
committerRichard Lander <rlander@microsoft.com>2015-12-21 09:07:13 -0800
commitf10db56e3b4dab5f33ef010651ac7d048a708cb9 (patch)
treedf7572e1b7b0e71fa856925124769096cb0f7d4a /Documentation
parent68d77cd32c1eef42337fa49606b09eca1b126276 (diff)
downloadcoreclr-f10db56e3b4dab5f33ef010651ac7d048a708cb9.tar.gz
coreclr-f10db56e3b4dab5f33ef010651ac7d048a708cb9.tar.bz2
coreclr-f10db56e3b4dab5f33ef010651ac7d048a708cb9.zip
Update doc links
Diffstat (limited to 'Documentation')
-rw-r--r--Documentation/README.md10
-rw-r--r--Documentation/building/custom-dnx-instructions.md162
-rw-r--r--Documentation/building/windows-debugging-instructions.md28
3 files changed, 7 insertions, 193 deletions
diff --git a/Documentation/README.md b/Documentation/README.md
index 61b08cac54..384dd1f446 100644
--- a/Documentation/README.md
+++ b/Documentation/README.md
@@ -11,7 +11,7 @@ Intro to .NET Core
Learn about .NET Core
====================
-- [[WIP] Official .NET Core Docs](http://dotnet.readthedocs.org)
+- [[WIP] Official .NET Core Docs](http://dotnet.github.io/docs/)
Get .NET Core
=============
@@ -46,11 +46,15 @@ Build CoreCLR from Source
- [Building CoreCLR on Linux](building/linux-instructions.md)
- [Building CoreCLR on OS X](building/osx-instructions.md)
- [Building CoreCLR on Windows](building/windows-instructions.md)
-- [Debugging CoreCLR on Windows](building/windows-debugging-instructions.md)
+
+Testing and Debugging CoreCLR
+=============================
+
+- [Debugging CoreCLR](building/debugging-instructions.md)
- [Testing Changes on Windows](building/windows-test-instructions.md)
- [Testing Changes on Linux, OS X, and FreeBSD](building/unix-test-instructions.md)
- [Testing with CoreFX](building/testing-with-corefx.md)
-- [Creating a Custom DNX](building/custom-dnx-instructions.md)
+- [.NET Performance Data Collection Script](https://raw.githubusercontent.com/dotnet/corefx-tools/master/src/performance/perfcollect/perfcollect)
Book of the Runtime
===================
diff --git a/Documentation/building/custom-dnx-instructions.md b/Documentation/building/custom-dnx-instructions.md
deleted file mode 100644
index ccda54a175..0000000000
--- a/Documentation/building/custom-dnx-instructions.md
+++ /dev/null
@@ -1,162 +0,0 @@
-Creating a Custom DNX
-=====================
-
-These instructions will lead you through creating a custom [DNX](https://github.com/aspnet/dnx) using an official DNX and the results of CoreCLR build. The same approach can be be used with the CoreFX build; however, that part isn't explored with these instructions. CoreFX is a bit harder, too, since you need to worry more about dependencies.
-
-These instructions are specific to Windows and assume that you've just completed the [Windows installation instructions](windows-instructions.md). They use the same demo `C:\coreclr-demo` directory and assume the same artifacts. The same general idea will work on OS X and Linux once .NET Core is supported more broadly on those OSes.
-
-Introduction to DNX
-===================
-
-DNX is the ".NET Execution Environment". It's a concept that came out of the ASP.NET 5 project, but is more general than Web. DNX can be looked at a few different ways:
-
-- It is a distribution of .NET Core.
-- It delivers a source-first and NuGet-first .NET programming experience.
-- It is console-everything.
-- It is the base mechanism and set of concepts on which ASP.NET 5 is built.
-
-You can have more than one DNX installed (under `.dnx`) on a machine and a single one will be selected for use at any time. You use [DNVM](https://github.com/aspnet/dnvm), the .NET SDK Manager, to acquire and manage DNX instances.
-
-DNX instances differ/disambiguate on the following axis:
-
-- Version
-- CPU architecture
-- Runtime type (CLR, CoreCLR, Mono)
-
-Installing DNVM
-===============
-
-You need DNVM as a starting point. DNVM enables you to acquire a (or multiple) DNX. The easiest installation approach is to follow the [DNVM instructions](https://github.com/aspnet/home#install-the-net-version-manager-dnvm) on the ASP.NET home repo. DNVM is simply a script, which doesn't depend on or include a DNX or CoreCLR.
-
-You can request to see which DNXs are available, with `dnvm list`, which will display an empty set of installed runtimes.
-
- C:\coreclr-demo>dnvm list
-
-Installing a DNX
-================
-
-You install a DNX via DNVM. It's easy to install the latest default DNX, using the upgrade command.
-
- C:\coreclr-demo>dnvm upgrade
-
-Alternatively, you can use the install command:
-
- C:\coreclr-demo>dnvm install latest
-
-Both commands will install a default DNX, which on Windows, is x86 and hosted on the .NET Framework CLR. You can see that with `dnvm list`.
-
- C:\coreclr-demo>dnvm list
-
- Active Version Runtime Architecture Location
- ------ ------- ------- ------------ --------
- * 1.0.0-beta5-11427 clr x86 C:\Users\rlander\.dnx\runtimes
-
-Trying out DNX
-==============
-
-As stated above, these instructions assume that you've just completed the [Windows installation instructions](windows-instructions.md), which included a "Hello World" demo.
-
-You need one extra file for the demo to work, which is project.json. Add it beside HelloWorld.cs.
-
-```json
-{
- "version": "1.0.0-*",
- "dependencies": {
- },
- "frameworks" : {
- "dnx451" : { },
- "dnxcore50" : {
- "dependencies": {
- "System.Console": "4.0.0-beta-*"
- }
- }
- }
-}
-```
-
-You need to restore dependent nuget packages with the dnu tool (comes with DNX). DNU will pull down NuGet packages from nuget.org or any other configured NuGet feed, such as MyGet.
-
- C:\coreclr-demo>dnu restore
-
-You can now run the app, with dnx.
-
- C:\coreclr-demo>dnx run
-
-Switching to CoreCLR
-====================
-
-For the purpose of this demo, you need an x64 DNX hosted on (actually including) CoreCLR. The CoreCLR build only generates X64 artifacts currently. You can install the latest version of an X64 CoreCLR DNX with DNVM. You'll notice that the install process will crossgen the managed assemblies for you. Performance!
-
- C:\coreclr-demo>dnvm install latest -arch x64 -runtime coreclr
-
-You should now have two runtimes installed. The CoreCLR one will be the default. The install process calls `dnvm use` for you as a convenience, since that's probably what you wanted. `dnvm list` will demonstrate this change in state.
-
- C:\Users\rlander>dnvm list
-
- Active Version Runtime Architecture Location
- ------ ------- ------- ------------ --------
- 1.0.0-beta5-11447 clr x86 C:\Users\rlander\.dnx\runtimes
- * 1.0.0-beta5-11447 coreclr x64 C:\Users\rlander\.dnx\runtimes
-
-You will need to repeat the steps above to run your app on CoreCLR (CoreCLR requires more NuGet packages).
-
- C:\coreclr-demo>dnu restore
- C:\coreclr-demo>dnx run
-
-Creating a Custom DNX
-=====================
-
-By this point, the demo is working with an official DNX. You can now create a custom DNX with a custom build of CoreCLR. For the purpose of safe experimentation, you are recommended to copy and rename an existing DNX. Note that the version numbers in the example below might not match your current environment. You'll need to adjust them accordingly.
-
- C:\coreclr-demo>dir %USERPROFILE%\.dnx\runtimes
- Volume in drive C has no label.
- Volume Serial Number is F074-BCDF
-
- Directory of C:\Users\rlander\.dnx\runtimes
-
- 04/01/2015 04:45 PM <DIR> .
- 04/01/2015 04:45 PM <DIR> ..
- 04/01/2015 04:33 PM <DIR> dnx-clr-win-x86.1.0.0-beta5-11447
- 04/01/2015 04:45 PM <DIR> dnx-coreclr-win-x64.1.0.0-beta5-11447
- 0 File(s) 0 bytes
- 4 Dir(s) 94,895,509,504 bytes free
-
-
-Copy and rename the X64 CoreCLR DNX. That's the one you'll target. You'll be able to see it with `dnvm list`. This time, you will need to explicitly `use` this DNX in order to use it.
-
- C:\coreclr-demo>xcopy /E /S %USERPROFILE%\.dnx\runtimes\dnx-coreclr-win-x64.1.0.0-beta5-11469 %USERPROFILE%\.dnx\runtimes\dnx-coreclr-win-x64.1.0.0-beta5-custom
-
-You now need to select the custom DNX as the use to 'use'. You can see the new DNX state with `dnvm list`.
-
- C:\coreclr-demo>dnvm use 1.0.0-beta5-custom -r coreclr -arch x64
- C:\coreclr-demo>dnvm list
-
- Active Version Runtime Architecture Location
- ------ ------- ------- ------------ --------
- 1.0.0-beta5-11447 clr x86 C:\Users\rlander\.dnx\runtimes
- 1.0.0-beta5-11469 coreclr x64 C:\Users\rlander\.dnx\runtimes
- * 1.0.0-beta5-custom coreclr x64 C:\Users\rlander\.dnx\runtimes
-
-Try running the app again to validate that you have a working installation with the custom DNX.
-
- C:\coreclr-demo>dnx run
-
-Injecting a Custom CoreCLR into your Custom DNX
-===============================================
-
-Next, you need to copy your CoreCLR build into your custom DNX. The default build for CoreCLR is X64 debug, which will be slow. Unless you intend to debug CoreCLR itself, a release build is recommended.
-
- C:\git\coreclr>build Release
- C:\git\coreclr>copy /Y bin\Product\Windows_NT.x64.Release\*.dll %USERPROFILE%\.dnx\runtimes\dnx-coreclr-win-x64.1.0.0-beta5-custom\bin
-
-The custom CLR will invalidate all of the existing crossgen images. You need to delete them.
-
- C:\git\coreclr>del %USERPROFILE%\.dnx\runtimes\dnx-coreclr-win-x64.1.0.0-beta5-custom\bin\*.ni.dll
-
-You should re-generate crossgen images for your DNX to provide the best performance with the following command. Sadly, crossgen won't work until the [Issue 227](https://github.com/dotnet/coreclr/issues/227) is resolved (so skip this command for now).
-
- C:\Users\rlander\.dnx\runtimes\dnx-coreclr-win-x64.1.0.0-beta5-custom\bin>k-crossgen.cmd
-
-You should now have a working custom CoreCLR x64 DNX. Give it a try.
-
- C:\coreclr-demo>dnx run
diff --git a/Documentation/building/windows-debugging-instructions.md b/Documentation/building/windows-debugging-instructions.md
deleted file mode 100644
index 0a2d66d354..0000000000
--- a/Documentation/building/windows-debugging-instructions.md
+++ /dev/null
@@ -1,28 +0,0 @@
-Debugging CoreCLR on Windows
-============================
-
-1. Perform a build of the repo.
-2. Open <repo_root>\binaries\Cmake\CoreCLR.sln in VS.
-3. Right click the INSTALL project and choose ‘Set as StartUp Project’
-4. Bring up the properties page for the INSTALL project
-5. Select Configuration Properties->Debugging from the left side tree control
-6. Set Command=`$(SolutionDir)..\product\$(Platform)\$(Configuration)\corerun.exe`
- 1. This points to the folder where the built runtime binaries are present.
-7. Set Command Arguments=`<managed app you wish to run>` (e.g. HelloWorld.exe)
-8. Set Working Directory=`$(SolutionDir)..\product\$(Platform)\$(Configuration)`
- 1. This points to the folder containing CoreCLR binaries.
-9. Press F11 to start debugging at wmain in corerun (or set a breakpoint in source and press F5 to run to it)
- 1. As an example, set a breakpoint for the EEStartup function in ceemain.cpp to break into CoreCLR startup.
-
-Steps 1-8 only need to be done once, and then (9) can be repeated whenever you want to start debugging. The above can be done with Visual Studio 2013.
-
-####api-ms-win-core-* DLL missing error
-If you get the `The program can't start because api-ms-win-core-winrt-string-l1-1-0.dll is missing from your computer. Try reinstalling the program to fix this problem` error while debugging, build the tests project. After build completes, place the required dlls from "**_..\coreclr\tests\src\packages\Microsoft.DotNet.CoreCLR.TestDependencies.1.0.0-prerelease\lib\aspnetcore50_**" alongside the coreclr.dll. See [Issue #65](https://github.com/dotnet/coreclr/issues/65) and this [topic](http://forums.dotnetfoundation.org/t/coreclr-on-win7-api-ms-win-core-winrt-string-l1-1-0-is-missing/853/4).
-
-
-Debugging Mscorlib and/or managed application
-=============================================
-
-To step into and debug managed code of Mscorlib.dll (or the managed application being executed by the runtime you built), using Visual Studio, is something that will be supported with Visual Studio 2015. We are actively working to enable this support.
-
-Until then, you can use [WinDbg](https://msdn.microsoft.com/en-us/library/windows/hardware/ff551063(v=vs.85).aspx) and [SOS](https://msdn.microsoft.com/en-us/library/bb190764(v=vs.110).aspx) (an extension to WinDbg to support managed debugging) to step in and debug the generated managed code. This is what we do on the .NET Runtime team as well :)