The dotnet/cli is a very self contained installation package primarily
composed of files. Thus system restore adds little value and costing
only files is sufficient to verify disk space. The result is a 20%
install time reduction, ~2 seconds, on my machine where system restore
is disabled. The win is *much* larger where system restore is still on
(the default).
Increasing the compression from "mszip" (which is notoriously out of
date) to "high" reduces the package size by 17% with no appreciable
change in build or install time. In other words, this is a free 8 MB
savings off the download size/time.
A typical LaunchCondition should not block the user from removing a
package. LaunchConditions should also not prevent repair from fixing
the machine state, especially if the machine state needs to be repaired
for the LaunchCondition to evaluate. To avoid both problems the
condition was updated such that once installed the package can always
be repaired and uninstalled.
Type 51 custom actions, SetProperty, are mostly benign but if possible
custom actions should be avoided at all costs. Here we centralize the
build type check in a single location and use preprocessor variable to
remove the need for the custom action.
All resources should be installed by one and only one Component, where
Component is defined by the Component/@Guid. The SetupRegistry_x64 and
SetupRegistry_x86 Components were sharing the env vars across the 32-bit
and 64-bit packages. That is a Component Rule violation.
The fix is simple. Since the 32-bit registration is always required, let
it handle the env var installation. The code is cleaner as well.
- add --lang <LANG> [C#|F#] with alias (csharp/cs)
- renamed template directories, format "LANGUAGE-TEMPLATE"
- add --type <TYPE>
default to first template of the language ( "Console" )
- show all avaiable types, if invalid argument --type
```
Unrecognized type: notexists
Avaiable types for F# :
- Console
```
With this change, any referenced analyzer project will be parsed by the
project system and the assemblies will be passed down to the compiler.
By default, the analyzer language is considered to be "cs". If another
language is used, the "languageID" option should be specified inside the
"analyzerOptions" section of the project.json file.
Resolves#83
- There are 2 major cases to auto reference facades:
1. When using a netstandard/dotnet* based package on a platform where the System.* packages don't provide any compilation assemblies.
2. When referencing a PCL where no dependencies were specified in the nuspec.
- For 1, we handle it by replacing package references with reference assemblies if possible. For 2. We turn assembly references of PCL assemblies into package dependencies.
This should cover the 90% case where people had to manually reference facades anytime they wanted to use a PCL on Net4.x.
TODO: P2P PCL references
#164
Fix the refactoring bugs
fix restore
downgrade version of package command test
Linux Test Script Fixes
use corehost instead of corerun for arg testing
don't copy corehost
fix scripts
Account for change in publish path, use corerun. Issue with AppContext.BaseDirectory in corehost.
Case Sensitive Reflector
wait for process exit
Fix bug in runtests.ps1
fix release build output path
fixup bug in runtests.sh