Commit Graph

577 Commits

Author SHA1 Message Date
Doug Bunting 7eb106676c Add missing license headers
- #EngineeringDay
- license present but incorrect in just a few files
- skip generated files such as Resources.Designer.cs and files under
  test\Microsoft.AspNet.Mvc.Razor.Host.Test\TestFiles\Output
2014-11-20 22:54:05 -08:00
Doug Bunting 315908af5f Apply VS' FormatDocument and RemoveAndSort to all *.cs files
- #EngineeringDay
- VS does not yet format auto-properties nicely; reverted what it did

Also revert changes under
- test/Microsoft.AspNet.Mvc.Razor.Host.Test/TestFiles
2014-11-20 21:15:46 -08:00
Ryan Nowak eb6598e1b9 Fix flaky NoContentFormatter test 2014-11-20 17:48:00 -08:00
Hao Kung d9893b260a React to fallback changes 2014-11-20 17:43:55 -08:00
Ajay Bhargav Baaskaran 90098411c6 [Fixes issue #1528] default reference assemblies made extensible
- Made ReferenceAssemblies and GetCandidateLibraries virtual
- Added relevant tests
2014-11-20 17:20:27 -08:00
Doug Bunting 5e067cdb9e Delete trailing whitespace
- #EngineeringDay
- Total replaced: 660  Matching files: 270 in *.cs
- Total replaced: 250  Matching files: 32 in all other files
- Total replaced: 22  Matching files: 8 in a few stragglers

Did not change files under following directories
- test\Microsoft.AspNet.Mvc.Razor.Host.Test\TestFiles\Output
- test\Microsoft.AspNet.Mvc.FunctionalTests\compiler\resources
- test\WebSites\TagHelpersWebSite
(Razor generates trailing whitespace in a case or two)
2014-11-20 16:18:09 -08:00
Kirthi Krishnamraju 678226a6bf Merge branch 'Fix298' into dev 2014-11-20 15:49:03 -08:00
Kirthi Krishnamraju a0629f4d23 Fix #298 - Added ModelMetadata.Container property and unit tests. 2014-11-20 15:45:02 -08:00
Ryan Nowak 7c961e3ce8 TODO removal
For each of these TODOs:

- If there's an active bug tracking the work, and the TODO provides
  something of value, I left it and standardized the formatting. I also
  added comments to the bug.

- If the comment provided no value (implement feature X when we do feature
  X), I deleted it with impunity.

- If the comment was stale (won't fix or just out of date), then we
  removed it uncerimoniously.

There was a single TODO that was actually actionable, so I enabled that
test.
2014-11-20 15:01:35 -08:00
Pranav K 8a668eb9d1 Adding unit tests for HtmlHelper.Password
Partial fix for #453
2014-11-20 12:12:29 -08:00
N. Taylor Mullen 35982b3049 React to aspnet/Razor#210 changes. 2014-11-20 11:54:18 -08:00
NTaylorMullen 1cf6607e75 React to aspnet/Razor#214 changes.
- TagHelperAttributeDescriptors changed to be lighterweight and not depend on PropertyInfo, had to modify our use of them to work with the new contract.
2014-11-20 10:27:33 -08:00
Doug Bunting 10f7234c61 Add more tests of `<input/>` tag helper
- scenarios where helper takes different code paths were not well-explored

nits:
- improve a few comments and names
- refactor some setup code into helper methods
- use `EmptyModelMetadataProvider`, not `DataAnnotationsModelMetadataProvider`

Test gap around `GenerateTextBox()`'s `format` argument is temporary.
2014-11-19 22:36:48 -08:00
Doug Bunting 1b28e19114 MVC tag helpers should not override tag name in Razor source
- #1523
- remove `TagHelperOutput.Merge()` extension method entirely
- test tag name preservation with all MVC tag helpers
 - `<input/>` tag helper generation of a checkbox wasn't previously tested

nits:
- fix argument order in a couple of `Assert.Equal()` calls
- remove use of "original tag name"
2014-11-19 22:35:31 -08:00
Ryan Nowak 99a1848598 Checkin VS modifications to kproj
My up-to-date VS wants these projects to have port numbers. Makes sense
because they are web projects.
2014-11-19 16:11:46 -08:00
Ryan Nowak ed8ba5ae9c Fix for #1194 - Error using [HttpPost] and [Route] together
This change enables some compatibility scenarios with MVC 5 by expanding
the set of legal ways to configure attribute routing. Most promiently, the
following example is now legal:

[HttpPost]
[Route("Products")]
public void MyAction() { }

This will define a single action that accepts POST on route "Products".

See the comments in #1194 for a more detailed description of what changed
with more examples.
2014-11-19 15:52:20 -08:00
ianhong 59b7352e8e Update per comment 2014-11-18 15:35:40 -08:00
ianhong 7b58d569eb ReadOnly attributes for Action, Controller, and Parameter 2014-11-18 15:35:39 -08:00
Ryan Nowak 38b3b61485 update due to breaking changes in routing 2014-11-18 12:37:47 -08:00
Ryan Nowak 661583f694 Fix for #1447 - Adding functional tests that verify per-request services
These tests verify that per-request services can be injected into assets
that users provide/implements (filters, constraints, controllers, views,
etc).

The purpose is to verify that the services are correctly resolved from the
per-request service container, and don't have state that lingers and
influences the next request. This is important because changing the
lifetime of a framework services could easily impact the lifetimes of
others, and ultimately of something the user created.
2014-11-17 18:38:49 -08:00
Ryan Nowak ca92700a6f Adding a functional test that modifies data tokens
Tracked by aspnet/Routing#116

The product support for this feature is in already this change just adds a
test verifying the scenario.
2014-11-17 18:35:04 -08:00
Ryan Nowak 5fd453f07d Revert "Fix for MVC #1539 - Deal with the case where request services are not set"
This reverts commit d9a3c265ea.

This was the wrong commit, did not intent to merge this.
2014-11-17 18:33:56 -08:00
Ryan Nowak d9a3c265ea Fix for MVC #1539 - Deal with the case where request services are not set
Rather than throwing here, this does what routing does. If request
services aren't set, we just create our own scope.

This will NOT create an extra scope if request services are already set.
2014-11-17 17:30:41 -08:00
Pranav K 052ad3e95f RenderSection \ RenderSectionAsync does not work in sections
Fixes #1509
2014-11-14 12:17:25 -08:00
ianhong dd1500dcfb Updated a comment and sort usings 2014-11-13 11:28:13 -08:00
ianhong 245d1dffda Updating the summary comment for IRazorViewFactory and its tests per comments 2014-11-13 11:28:12 -08:00
ianhong 0720177243 Updating per comments 2014-11-13 11:28:12 -08:00
ianhong 23a7aa813d Updating FindView_UsesViewLocationExpandersToLocateViews for IRazorViewFactory. 2014-11-13 11:28:12 -08:00
ianhong e9c7a34cfc Introducing RazorViewFactory for RazorView 2014-11-13 11:28:11 -08:00
Doug Bunting 7e8870cb9f Per PR discussion
- clean up "the the" in XML comments
- simplify refactoring VS did when I renamed `GetHtmlHelperForViewData()`
 - fix existing issue in `HtmlHelperCheckboxTest.CheckBoxReplacesUnderscoresInHtmlAttributesWithDashes()`
   (was using a `HtmlHelper<ViewDataDictionary<TestModel>>`)
2014-11-12 21:56:11 -08:00
Doug Bunting 1d3ae83507 Address PR comments in test code
- add missing license headers
- make "post" more obvious
- use `Assert.IsAssignableFrom()`

nit: remove unused `using`s in `HtmlHelperLinkGenerationTest`
2014-11-12 21:56:03 -08:00
Doug Bunting 2982c72547 Add `Html.BeginForm()` and `Html.BeginRouteForm()` tests
- helps w/ #453 since `Html.BeginForm()` wasn't previously tested
- provide a `DefaultTemplatesUtilities.GetHtmlHelper()` overload with an
  `IHtmlGenerator` parameter
- update `DefaultTemplateUtilities` to use `DefaultHttpContext`
 - stop using a mock for this purpose; provides a non-`null` `Request`

nit:
- `DefaultTemplatesUtilities.GetHtmlHelperForViewData()` -> `...GetHtmlHelper()`
  for consistency with other overloads
2014-11-12 21:55:48 -08:00
Doug Bunting 22fafe298c Add `BeginRouteForm()` HTML helper
- refactor `DefaultHtmlGenerator.GenerateForm()` to support new method

nits:
- correct XML comments
- add a few more code comments
2014-11-12 21:55:40 -08:00
kanchanm 4598505652 Fix to special case Dispose method to be treated as non-action 2014-11-12 14:52:19 -08:00
Ryan Nowak e9d8c845d6 Create a new routedata for each 'router' for MVC
This is the MVC companion to https://github.com/aspnet/Routing/pull/122

As routing flows, routes replace the route data and mutate a copy. This
allows users to make changes that dirty the data without affecting
undesired state changes.

We also add the 'next' router for diagnostic purposes.
2014-11-12 11:10:21 -08:00
Ajay Bhargav Baaskaran 232deb47d0 added tests for json input formatter 2014-11-12 10:50:55 -08:00
Kiran Challa 17e4dd2bf6 [Fixes #1429] Content negotiation does a case-sensitive matching of media type's parameter values 2014-11-11 10:15:51 -08:00
Doug Bunting 2d32420f01 Add `<option/>` tag helper
- #1423
2014-11-07 14:11:12 -08:00
Doug Bunting 30f25fec99 Provide selected values to `<option/>` tag helpers
- value may remain in the `FormContext` beyond `</select>` end tag but will
  be cleaned up at the `</form>` end tag of the containing `<form/>` element
 - `SelectTagHelper` called prior to helpers for contained `<option/>`s and
   not again later
- adjust mock setups to handle new `GenerateSelect()` call
- add assertions for expected `FormContext.FormData` entry

nit: mention #1468 in a test comment
2014-11-07 14:11:07 -08:00
N. Taylor Mullen de9a999bf6 React to aspnet/Razor#208 changes. 2014-11-07 11:54:30 -08:00
Harsh Gupta 6b2f331e8d Adding support for excluding types for validation, based on type names for body bound models. 2014-11-06 11:00:50 -08:00
SonjaKhan 27e0323a8a renaming TraceType to LogLevel 2014-11-06 09:24:02 -08:00
Doug Bunting f7ef604b86 Regenerate .kproj files
- does not seem to have a negative impact
- e.g. sample web projects run / debug fine
2014-11-04 22:41:53 -08:00
Ryan Nowak e37f1ad85f Fix #1502 - Remove duplicate unit tests 2014-11-04 13:30:15 -08:00
Doug Bunting 90e41b905a Add `ModelMetadata.HtmlEncode` property
- use new `ModelMetadata.HtmlEncode` property in HTML helpers
 - specifically in default HTML display and editor object templates (e.g.
   `@Html.DisplayFor()`) when value is non-`null` and the template is invoked
   with template depth greater than 1
- similar to MVC 5.2 commit [2b12791aee4f](https://aspnetwebstack.codeplex.com/SourceControl/changeset/2b12791aee4ffc56c7928b623bb45ee425813021)

nits:
- remove dupe `null` check in `DefaultDisplayTemplates.ObjectTemplate()`
- move backing fields initialized with constants together in `ModelMetadata`
2014-11-03 12:23:33 -08:00
Pranav K d5515bfbb6 Adding arg null or empty checks to RazorViewEngine.FindView &
FindPartialView
2014-11-02 18:33:56 -08:00
Pranav K 74da350086 Remove enableInstrumentation from CompilerCache and IMvcRazorHost 2014-11-02 18:15:39 -08:00
Ryan Nowak b8645eeb31 Follow up to JsonResult changes
Changing the WebAPI shim to use the new and improved JsonResult.
2014-10-31 18:33:15 -07:00
Ryan Nowak 0ccfcc4316 Fix for breaking API change from routing 2014-10-31 18:23:19 -07:00
Ryan Nowak 105c99cbf2 Fix #1370 - Always use the provided formatter in JsonResult
The change here is to always use the provided formatter, instead of using
it as a fallback. This is much less surprising for users.

There are some other subtle changes here and cleanup of the tests, as well
as documentation additions.

The primary change is that we still want to run 'select' on a formatter
even if it's the only one. This allows us to choose a content type based
on the accept header.

In the case of a user-provided formatter, we'll try to honor the best
possible combination of Accept and specified ContentTypes (specified
ContentTypes win if there's a conflict). If nothing works, we'll still run
the user-provided formatter and let it decide what to do.

In the case of the default (formatters from options) we do conneg, and if
there's a conflict, fall back to a global (from services)
JsonOutputFormatter - we let it decide what to do.

This should leave us with a defined and tested behavior for all cases.
2014-10-31 14:30:31 -07:00
sornaks d178200795 Adding functional tests for Filters. 2014-10-31 08:36:31 -07:00
Pranav K 3aaeebd9c5 Revert "Revert "Added a functional test for view precompilation""
This reverts commit 6b2ab32885.
2014-10-30 14:38:44 -07:00
Doug Bunting 5420b9d382 More `ViewDataDictionary` tests
- separate and extend `ViewDataDictionary<TModel>` tests
2014-10-29 19:19:09 -07:00
Doug Bunting c89bca5924 Adjust tests to handle new `ViewDataDictionary` invariants
- ensure `ViewDataDictionary` constructors are not passed a `null` or
  `Mock.Of<IModelMetadataProvider>()` instance
 - `ViewDataDictionary` constructors always use the `IModelMetadataProvider`
- `viewData.ModelMetadata` now never `null`
- `ViewDataDictionary<int>.Model` no longer throws if read before it's written
- `ViewDataDictionary.ModelMetadata` now copied to new instances in fewer cases
 - e.g. don't use unusual `object` datatype with customized `ModelMetadata`
2014-10-29 19:18:59 -07:00
Ryan Nowak 83187945d1 Fix for #1052 - ViewComponents should support fully qualified names
This change adds the concept of a full-name to viewcomponents. View
components can be invoked using either the short name or long name. If the
provided string contains a '.' character, then it will be compared against
full names, otherwise it will be matched against short names only.

The short name is used for view lookups.

If the name is explicitly set via ViewComponent attribute, then the full
name is the name provided. The short name is the portion of the name after
the last '.'. If there are no dots, then the short name and full name are
the same.

If the name is not set explicitly, then it is inferred from the Type and
namespace name. The short name is the Type name, minus the 'ViewComponent'
suffix (if present). The full name is the namespace of the defining class,
plus the short name.
2014-10-29 17:34:01 -07:00
jacalvar 6b2ab32885 Revert "Added a functional test for view precompilation"
This reverts commit 310feeb826.
2014-10-28 19:14:50 -07:00
jacalvar 310feeb826 Added a functional test for view precompilation 2014-10-28 18:38:15 -07:00
Ryan Nowak 305dd87b9b Fix for #1442 - Find better names for ApiExplorerProperties
Taking the suggestion here to move these to a sub-object. This is future
proof in the event that we need to capture more data for ApiExplorer, and
reads better.
2014-10-28 13:03:19 -07:00
Ryan Nowak 46897037e9 TODO removal part 1 - ActionExecutorTests 2014-10-28 12:54:14 -07:00
Ryan Nowak 9a77c2bc1e Fix for #1448 - ViewComponents must be public top-level classes
ViewComponents and Controllers now follow the same rules exactly for what
types of classes they can be.

Also corrected a bug in a test for controllers. Closed-generic types can
be controllers, the test was wrong.
2014-10-28 12:36:07 -07:00
Pranav K 6c4462a76f * Porting Hidden and HiddenFor unit tests
Partial fix to #453
2014-10-27 17:54:56 -07:00
Doug Bunting 1f670bf3a7 Merge branch 'release' into dev 2014-10-27 16:43:02 -07:00
Doug Bunting cfcb1f2e2f Add more unit tests of `ViewDataDictionary` copy constructors 2014-10-27 16:26:04 -07:00
Pranav K e0116bab30 Modifying ArgumentNullOrEmpty message to be consistent with Mvc 5 \
testing code.
2014-10-27 15:07:53 -07:00
N. Taylor Mullen 7934c432c8 React to case insensitive TagHelperOutput.Attributes.
- Cleaned up some existing bad code that worked around case sensitive TagHelperOutput.Attributes.
- Modified MergeAttributes to be case insensitive when it comes to merging class attributes.
- Added a test to verify the new MergeAttribute case insensitive class merging.

aspnet/Razor#186
2014-10-26 13:32:11 -07:00
N. Taylor Mullen 09af7bb77b Change TagBuilder Attributes and HTML Helper dependencies to be case insensitive.
- This involved adding the StringComparer.OrdinalIgnoreCase comparer to the TagBuilder's Attributes dictionary.
- Added tests to validate that all methods that made use of TagBuilder.Attributes abide by the new ignore case mechanic.
- Added two sets of tests to validate the new functionality of Object => Dictionary HTML helper tests.
- Modified a functional test that utilizes HTML Helpers to provide same attribute-different case objects.
- Fixed existing HTML helper tests to account for new ordering of attrbutes (dictionary no longer adds key value pairs, it sets them).

#1328
2014-10-26 13:15:09 -07:00
Ryan Nowak 0a3ad09466 Rename GlobalModel -> ApplicationModel
This also comes with a rename of the namespace
Microsoft.AspNet.Mvc.ApplicationModel to
Microsoft.AspNet.Mvc.ApplicationModels.

Also tuned up some parameter and variable names for increased
understandability.
2014-10-23 16:03:55 -07:00
Ryan Nowak 7ae5e66ccd Refactoring the ControllerActionDescriptorProvider 2014-10-23 12:25:25 -07:00
Pranav K 756f8be49c CompositeValueProvider.GetKeysFromPrefixAsync throws null if provider is not an
IEnumerableValueProvider

Fixes #1419
2014-10-23 11:05:06 -07:00
Pranav K 26cd8df577 Adding functional tests to verify round tripping of names generated by
HtmlHelpers
2014-10-23 10:12:02 -07:00
sornaks 1dd1652dcf Issue #220 - Flags enum does not bind
Fix - After TypeConverter support this works. Adding tests for the same.
2014-10-22 13:55:28 -07:00
Pranav K 78bda87730 Replacing ViewResultBase with ViewExecutor 2014-10-22 08:47:22 -07:00
Pranav K 79ad19f8bd Porting CheckBox and CheckBoxFor unit tests
Partial fix to #453
2014-10-20 11:12:10 -07:00
Doug Bunting d31e107619 Add `SelectTagHelper` tests 2014-10-19 22:29:50 -07:00
Ryan Nowak 557974b948 Removing BodyParameterInfo and ParameterBindingInfo
These have been superceded by the BinderMetadata property on
ParameterDescriptor.
2014-10-17 20:47:20 -07:00
Ryan Nowak 61f218c8e4 Renaming IBinderMarker and friends to some more descriptive names. 2014-10-17 20:32:03 -07:00
Harsh Gupta d1c0213a10 Adding PropertyFilter instead of depending on model metadata to concatenate Metadata for parameter/property and type metadata 2014-10-17 20:07:33 -07:00
Ryan Nowak 77c4391e47 Fix for #1401 - Change namespace of HttpResponseException 2014-10-17 18:43:06 -07:00
Pranav K bd82e584f0 Porting over unit tests for ViewDataDictionary.Eval
Partial fix for #453
2014-10-17 17:27:05 -07:00
Ryan Nowak df8f84b772 Fix #1287 - Port WebAPI parameter binding behavior
This change modifies the default parameter binding behavior for an
ApiController to use the WebAPI rules.

'simple types' default to use route data or query string
'complex types' default to use the body (formatters)

Adds ModelBindingAttribute to enabled model binding
2014-10-17 16:51:48 -07:00
sornaks 5b1bcb6079 Issue #1214: Cannot pass a int parameter to the views from ViewComponent.
Fix: Checking if the model is not null in the Copy constructor of ViewDataDictionary.
2014-10-17 16:40:25 -07:00
Harsh Gupta 75405e3b76 Adding support for bind attribute. 2014-10-17 16:24:28 -07:00
Doug Bunting dd5da33a62 Sanitize "id" attributes for HTML 4.0.1
- #704 part 2 of 2
- change `@Html.Id()` to sanitize return value; was identical to `@Html.Name()`

Copied `TagBuilder.CreateSanitizedId()` and `TagBuilder.Html401IdUtil` from MVC 5.2
- except this `CreateSanitizedId()` returns a valid identifier if first `char` is not a letter
 - e.g. "[0].Name"

nits:
- expand variable names, use lots of `var`, put `public` members first
- add doc comments for `CreateSanitizedId()`

Note users will be able to apply different sanitization once we fix #1188.
2014-10-17 16:12:45 -07:00
jacalvar 98d749d03c [Fixes #1389] Can't bind complex type data from route parameters.
Changed DictionaryBasedValueProvider to do a prefix check instead of just checking if the underlying
dictionary contains the key.
2014-10-17 15:32:21 -07:00
Pranav K 66f626b828 Remove unnecessary references from project.json 2014-10-17 14:26:58 -07:00
Pranav K 5119d16b64 ViewComponent.Invoke() should be able to invoke views
Fixes #285
2014-10-17 12:23:18 -07:00
Pranav K b8d30f29c6 Add IsPartial property to IRazorPage
Fixes #1002
2014-10-17 10:52:39 -07:00
Doug Bunting 012e03e5d0 Add `InputTagHelper`
- also make `TagHelperOutputExtensions.MergeAttributes()` case-insensitive

nits:
- deliniate attribute names in all resource strings
- update validation messages in TagHelperSample.Web
2014-10-16 23:34:10 -07:00
N. Taylor Mullen f8f08f0903 Fix tests and changed TagHelper activates property accessors.
- Changed TagHelper property accessors from private to protected internal.
- Changed throw tests to be shorter.
- Changed reflection setting to now use the internal accessibility of the TagHelpers
- Removed activator to just use internal accessibility of TagHelpers.
- Changed new StringWriter() instances where we didn't need the StringWriter to be TextWriter.Null
2014-10-16 22:39:44 -07:00
N. Taylor Mullen f8b0249918 Add Label TagHelper.
- Validated label TagHelper functionality.

#1249
2014-10-16 21:13:08 -07:00
NTaylorMullen 9c07055ac7 Add ValidationSummaryTagHelper.
- Tested ValidationSummaryTagHelper behavior.
- Updated sample to utilize new ValidationSummaryTagHelper format.

#1251
2014-10-16 21:13:05 -07:00
NTaylorMullen 2729cdc9b7 Add ValidationMessageTagHelper.
- Added tests to validate ValidationMessageTagHelper functionality.

#1250
2014-10-16 21:12:53 -07:00
NTaylorMullen 57d1c542db Add AnchorTagHelper.
- Added a TagHelper that targets the <a> tag and allows users to do the equivalent of Html.ActionLink or Html.RouteLink.
- Added tests to validate AnchorTagHelper functionality.

#1247
2014-10-16 21:12:49 -07:00
N. Taylor Mullen 4c98c8fcb9 Add FormTagHelper.
- Added the FormTagHelper.
- Utilized the IHtmlGenerator to share base functionality with the HTMLHelper counterparts.
- Added tests to validate FormTagHelper functionality.

#1246
2014-10-16 21:12:46 -07:00
N. Taylor Mullen 63f8f7de6d Add extensions for TagHelperOutput to copy and merge from TagBuilder.
- Added tests to validate functionality of all TagHelperOutputExtension methods.

#1319
2014-10-16 21:12:42 -07:00
NTaylorMullen 20cc294c70 Reacted to options and hosting changes after rebase. 2014-10-16 21:12:38 -07:00
Doug Bunting 3b7b0f867d Update `HtmlHelper` to use `IHtmlGenerator`
- make a few more methods available as `internal static` in `DefaultHtmlGenerator`
 - remove `IHtmlGenerator.GenerateOption()`; now `internal static`

nits:
- add `IHtmlGenerator.IdAttributeDotReplacement`
- move `DefaultHtmlGenerator.IdAttributeDotReplacement` after constructor
- move `HtmlHelper.ActionLink()` below static methods
- move newly-`internal` methods together in `DefaultHtmlGenerator`
- correct placement of `DefaultHtmlGenerator.GetValidationAttributes()` comment
2014-10-16 21:12:34 -07:00
Doug Bunting ba8b3d14a4 Add tests of `TextAreaTagHelper`
- new Microsoft.AspNet.Mvc.TagHelpers.Test project
- bit of test infrastructure -- `TestableHtmlGenerator`
 - short-curcuits validation attribute and AntiForgery additions
 - should help when testing all MVC tag helpers
2014-10-16 21:09:11 -07:00
Ryan Nowak 9fadcf74ca Fix for item #1278 - Add WebAPI ActionResult types and helper methods on
ApiController

Ports all of the WebAPI action result types.
2014-10-16 19:33:49 -07:00
jacalvar 8966680075 [Fixes #1332] Port IContentNegotiator to WebAPI shim for CoreCLR support
1. Ported IContentNegotiator.
2. Enabled Core CLR configuration
2014-10-16 17:22:47 -07:00