Commit Graph

20 Commits

Author SHA1 Message Date
WuYafeng d061d0d95b Resolve #11727 (#11957)
* Resolve #11727

- Add a BuildServiceProviderValidator for checking startup method 'ConfigureServices(IServiceCollection,..)'

* Fix file name and class name not match

* Resolve conversation:
- helpLink point to 'aka.ms'
- Update DiagnosticDescriptor title
- Update DiagnosticDescriptor messageFormat
2019-07-10 08:46:32 -07:00
N. Taylor Mullen 4623ce7f94 Make ~/ resolution show up at design time.
- This change results in proper errors for tags that utilize `~/`inside of local functions at design time.
- Updated TagHelper in code blocks analyzer error to mention `~/` since it will typically be a cause of confusion.

#10734
2019-07-02 14:55:18 -07:00
Nate McMaster 7c809f6c22 Set ReferenceAssemblyAttribute in reference assemblies (#11207)
* Set ReferenceAssemblyAttribute in reference assemblies

* Update ReferenceAssemblyInfo.cs

* Use src project for MVC analyzer tests
2019-06-28 16:08:01 -07:00
dannyBies 1521e6fa72 Update StartupAnalyzer.Diagnostics.cs (#11245) 2019-06-15 19:01:52 -07:00
Nate McMaster 41ce223c1c
Replace Internal.AspNetCore.Sdk with Microsoft.DotNet.Arcade.Sdk (#10674)
* Update build.cmd to install .NET Core into $repoRoot/.dotnet instead of $repoRoot/.dotnet/x64
* Move restore sources from build/sources.props into eng/Versions.props (following arcade conventions)
* Remove usages of RuntimeFrameworkVersion in tests and build
* Update Blazor VSIX to use Arcade VSIX tools
* Rename Common.Tests to IIS.Common.TestLib and make it a test asset
* Remove custom versions props for ANCM installer code
* Remove duplicate references to xunit and remove usages of IsTestProject
* Remove duplicate references to Internal.AspNetCore.Analyzers
* Import Arcade.Sdk props and targets and remove custom versioning props
* Remove references to Internal.AspNetCore.Sdk
* Rename PackageLicenseType => PackageLicenseExpression
* Remove dependency on tasks in Internal.AspNetCore.Sdk, add ref to Internal.AspNetCore.BuildTasks as a temporary workaround
* Use Arcade's nuspec support
* Rename SignalR.Client.FunctionalTests to SignalR.Client.FunctionalTestApp
* Fixes for changes to property evaluation order
* Update BaseLineGenerator to netcoreapp3.0
* React to changes in evaluation order in RPM files and quirks in using <Exec> instead of <Run>
* Update Microsoft.Extensions.ApiDescription.Server to react to changes in Arcade packaging
* Workaround aspnet/AspNetCore#11009
2019-06-07 17:19:41 -07:00
N. Taylor Mullen 202ccebb0d Add analyzer to detect TagHelpers in code blocks.
- We detect `__tagHelperRunner.RunAsync` method calls in lambdas, anonymous methods, local functions, and method declarations. Upon detection we verify that the methods are `async Task` returning and if not log an error.
- Added analyzer tests to verify all the scenarios TagHelpers in code blocks can occur in.

#8630
2019-06-01 13:27:46 -07:00
Nate McMaster 01a8798936
Update links and disable warnings related to tests that don't work in Helix (#10427) 2019-05-21 16:39:06 -07:00
Pranav K 26b53236b1
Fix more null refs in Api Analyzers (#10375)
*  Fix more null refs in Api Analyzers

 * Make attributes used by analyzer public
 * Compile analyzer tests against ref assemblies
 * Turn on Nullable reference types and harden some null-checks

Fixes https://github.com/aspnet/AspNetCore/issues/8686
2019-05-21 16:17:15 -07:00
Nate McMaster dc90e11c7a
Move obj and bin directories into repo root (#10063)
The Arcade SDK requires that the obj/ and bin/ folders be placed in the top-level artifacts/ folder of the repo. Although this PR does not complete our Arcade convergence, this is a step towards updating our repo to build with the Arcade SDK.

Changes:
* Set output path for build to artifacts/bin/$(ProjectName)/ 
* Set intermediate output path for build to artifacts/obj/$(ProjectName)/
* Cleanup .gitignore files (remove duplication between repo-root and tested gitignore files)
* Add code check which looks for project files that share the same name (could cause issues)
* Rename project files to have unique names (avoid race condition of build output)
* Update all locations which were hard-coded to expect bin/ and obj/ in the project directory
* Add overrides for tests which still assert test binaries exist in a given location relative to the source code
2019-05-15 13:44:55 -07:00
Ryan Nowak 1b47f44876
Add a top-level node for analyzers (#9906)
This is the first step, and just estabilishes a skeleton. The end goal
is organize our analyzers under this node because:
1. We're writing some 'top level' analyzers that depend on everything
else
2. We want to be able to service analyzers on the SDK schedule
(independent of runtime).

Next, we'll merge the MVC analyzers into this assembly since there's no
reason for them to be separate. The MVC API analyzers will remain a
separate package, but under this node. The component analyzers will
remain separate as they need to ship as a package, but will move under
this node as well.
2019-05-07 15:01:08 -07:00
Nate McMaster ae8e96f154
Remove API check baselines and related project settings (#9846) 2019-04-30 14:58:13 -07:00
James Newton-King 69f4b6d227
Add StartupAnalzyer (#9100) 2019-04-06 18:25:19 +13:00
Pranav K ff313901de
Mark Mvc analyzers as non-shipping (#8968)
Since these analyzers are now available via the WebSDK, we no longer
need to ship these.

Follow up to https://github.com/aspnet/AspNetCore/issues/4373
2019-04-01 15:52:15 -07:00
Justin Kotalik df3a702190 Update the SDK (#8670) 2019-04-01 15:18:18 -07:00
Pranav K 0d10c49823
Make IApiBehaviorMetadata public (#8410)
Fixes https://github.com/aspnet/AspNetCore/issues/8403

The analyzer expects the type to be present. However since it's listed
as internal, it is not present when compiling against the ref assembly \ targeting pack.

It was left as internal so we could evolve it later, but we haven't found a need for it as yet.
2019-03-11 14:25:45 -07:00
Hao Kung a2c8a34556
Reenable some helix tests (#7763)
* Fix identity UI script tests on helix
* Add OnHelix static helper method
2019-02-25 23:39:46 -08:00
Doug Bunting 14b7184c09
Improve documentation of `BinderType` and `BindingSource` properties (#7218)
- add regression test for #4939
- add `[BindProperty]` doc comments
- add `<remarks>` to `BinderType` properties that recommend setting `BindingSource` in some cases

smaller issues:
- catch invalid `BinderType` values up front
- complete `BindingSource.ModelBinding` implementation: `IValueProvider` filtering was faulty

nits:
- accept VS suggestions e.g. remove unused variables
- "model binder" -> `<see cref="IModelBinder" /> implementation` in some doc comments
2019-02-19 15:22:04 -08:00
Ajay Bhargav Baaskaran 7a26d27e8b Merge branch 'release/2.2' 2019-02-14 16:08:51 -08:00
Ajay Bhargav Baaskaran 0c2ee920a1 Merge branch 'release/2.1' into release/2.2 2019-02-13 14:52:38 -08:00
Ajay Bhargav Baaskaran 4cceccd568
Make Mvc repo folder layout consistent (#7518) 2019-02-13 10:53:39 -08:00