Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[pull] develop from autofac:develop #99

Open
wants to merge 872 commits into
base: develop
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
872 commits
Select commit Hold shift + click to select a range
67c4e9e
Merge branch 'develop' into feature/issue-995
tillig Feb 24, 2022
5a7e908
Using rulesets to control analyzer warnings rather than NoWarn and Di…
tillig Feb 24, 2022
4a81739
Merge branch 'develop' into feature/issue-995
tillig Feb 24, 2022
d6fb5cb
Put back trailing comma analyzer - false positives are fixed.
tillig Feb 24, 2022
81d0132
Merge branch 'develop' into feature/issue-995
tillig Feb 24, 2022
aca2380
Merge pull request #1309 from autofac/feature/issue-995
tillig Feb 25, 2022
a6fbab3
Update to use the latest Codecov Uploader.
tillig Feb 25, 2022
f0b02cc
Merge pull request #1310 from autofac/feature/codecov-uploader
tillig Feb 25, 2022
122490b
Corrected links, removed deprecated package listings.
tillig Feb 28, 2022
6926aa6
Merge pull request #1311 from autofac/feature/readme-tweaks
tillig Mar 1, 2022
77f5332
Create FUNDING.yml
alistairjevans Mar 14, 2022
66cce9f
Update funding list
alistairjevans Mar 14, 2022
82dedce
Run tests using VS Code.
tillig Mar 18, 2022
219ba41
Fix #1315: Use base type for open generic arg matching.
tillig Mar 18, 2022
043253f
Fix typo in test namespace - "Constraints"
tillig Mar 18, 2022
68f6d8f
Test for #1315: Ensure it works multiple inheritance levels deep.
tillig Mar 18, 2022
1f2f747
Explanatory comment for why we walk back the hierarchy.
tillig Mar 28, 2022
8c2a9c2
Minor reword on that clarifying manifesto.
tillig Mar 28, 2022
3402091
Merge pull request #1316 from autofac/issue-1315
alistairjevans Mar 30, 2022
0b6488a
Add generic delegate lambda overloads, and associated tests
alistairjevans Mar 31, 2022
309e2d0
Add generic delegate lambda overloads, and associated tests
alistairjevans Mar 31, 2022
78c47f5
Revert "Add generic delegate lambda overloads, and associated tests" …
alistairjevans Mar 31, 2022
fe6f2e7
Added source generator that outputs our delegate invokers and additio…
alistairjevans Apr 2, 2022
724c53b
Tweaked the output to fix the generator spacing, added some parameter…
alistairjevans Apr 2, 2022
d13edaa
Update verified code file
alistairjevans Apr 2, 2022
0b01200
PR feedback (naming, comments, analysers, etc)
alistairjevans Apr 5, 2022
344d7a6
Take out extra editorconfig changes added by the VS tooling.
alistairjevans Apr 5, 2022
781593f
Add README files for the new projects.
alistairjevans Apr 5, 2022
e616298
Fix remaining PR issues.
alistairjevans Apr 5, 2022
ad07bf1
Merge pull request #1321 from autofac/feature/generic-delegate-overloads
tillig Apr 5, 2022
c69da54
Change sync disposal warning message from efficient -> inefficient
alistairjevans Apr 7, 2022
56af5b3
Merge pull request #1323 from autofac/fix/warning-typo
tillig Apr 7, 2022
acc6e1a
Add ReflectionCache and update cache references.
alistairjevans Apr 9, 2022
c8bedac
Performance optimisations for single-constructor reflection paths.
alistairjevans Apr 9, 2022
6ce4318
Resolve warning
alistairjevans Apr 9, 2022
3d7acd9
Add tests; also add Unregister, mostly to make testing possible.
alistairjevans Apr 9, 2022
32b3a22
Add MatchingSignatureConstructorSelector tests.
alistairjevans Apr 9, 2022
a09c78d
Make sure we check if the activator is disposed in the new paths; als…
alistairjevans Apr 9, 2022
fd1bc4d
Add ConstructorBinder support for cache clearing.
alistairjevans Apr 11, 2022
348acb1
Add missing file header
alistairjevans Apr 11, 2022
e54ac1e
Update following PR feedback; added IConstructorSelectorWithEarlyBind…
alistairjevans Apr 12, 2022
efa63ac
Remove old comment.
alistairjevans Apr 13, 2022
ed6b1d9
Merge pull request #1325 from autofac/feature/single-constructor-opti…
tillig Apr 13, 2022
25cc97b
Semver => 6.4.0 for release.
tillig May 25, 2022
7ae8543
Note about AWS sponsorship.
tillig Jul 22, 2022
f56d1fe
Merge pull request #1333 from autofac/feature/aws
tillig Jul 22, 2022
e1503a7
Ignore revs in git blame.
tillig Aug 15, 2022
d3dee09
In-progress
alistairjevans Aug 20, 2022
ff9e210
Store all internal reflection caches in a central `IReflectionCache` …
alistairjevans Aug 21, 2022
a0a2e8b
Merge branch 'develop' into feature/reflection-cache-clear
alistairjevans Aug 21, 2022
a21778c
Merge pull request #1340 from autofac/feature/git-blame-ignore
tillig Aug 21, 2022
14d3e1f
Switch shared cache implementation to a WeakReference.
alistairjevans Aug 21, 2022
fe78c88
More tidying up now we don't need the ability to set a custom cache.
alistairjevans Aug 21, 2022
33886d0
Simplify reflection caching changes, use a central static `Shared` in…
alistairjevans Aug 27, 2022
6388bfe
Remove usings and other changes left over from previous version
alistairjevans Aug 27, 2022
8c904e1
Updated naming; initialised internal dictionaries from the cache set …
alistairjevans Sep 3, 2022
e5bef7c
Add tillig to funding.
tillig Sep 8, 2022
ce9e6b5
PR feedback
alistairjevans Sep 8, 2022
18a2558
Remove misleading comment
OwnageIsMagic Sep 12, 2022
efce62c
Correct ReflectionCacheSet unit tests to be actual unit tests; remove…
alistairjevans Sep 17, 2022
39f957e
Experiments
alistairjevans Sep 19, 2022
86c36ab
Merge pull request #1341 from autofac/feature/reflection-cache-clear
tillig Sep 19, 2022
aa5ce81
bring back sync ValueTask shortcut on DisposeAsync
OwnageIsMagic Sep 19, 2022
e04103d
fix build
OwnageIsMagic Sep 19, 2022
6dfe6c1
fix build
OwnageIsMagic Sep 19, 2022
3465490
Merge pull request #1347 from OwnageIsMagic/patch-1
alistairjevans Sep 20, 2022
c755e05
Merge branch 'develop' into feature/do-not-retain-isolated-service-info
alistairjevans Sep 25, 2022
412b614
Treat the collection source as 'special', and conduct the registratio…
alistairjevans Sep 25, 2022
8c626f8
Fix comment warnings
alistairjevans Sep 25, 2022
1d75214
Use caching in the `CollectionRegistrationSource`, to reduce the impa…
alistairjevans Sep 25, 2022
f4076a2
Flip order of checks for isolated services.
alistairjevans Sep 25, 2022
fe2bdad
Optimise the adding of sources to the nested scope's registry by addi…
alistairjevans Sep 25, 2022
3e0f2f6
Removing incorrect file and some renames.
alistairjevans Sep 26, 2022
ed24771
Move caching in the collection registration source up a level.
alistairjevans Sep 26, 2022
84ba97e
Add new interface to ACTNARS.
alistairjevans Oct 2, 2022
ed66591
Make IDecoratorContext extend IComponentContext.
alistairjevans Oct 2, 2022
0362f7e
Merge pull request #1352 from autofac/feature/decorator-context-resolve
tillig Oct 4, 2022
4fe918e
Merge branch 'develop' into docs-links-and-improvements
alistairjevans Oct 12, 2022
96c9139
Merge pull request #1281 from alistairjevans/docs-links-and-improvements
alistairjevans Oct 12, 2022
885ed44
Fix regression in async scenario of: Fix memory leak due to use of Co…
botinko Oct 25, 2022
58e297d
Merge pull request #1353 from botinko/concurrentBagLeak
alistairjevans Oct 25, 2022
646250a
Convert resource generation to MSBuild.
tillig Oct 25, 2022
2226566
Ignore generated designer files for resources.
tillig Oct 25, 2022
302964e
File nesting for resx in VS Code.
tillig Oct 25, 2022
a7addde
Use ItemDefinitionGroup to reduce project file size.
alistairjevans Oct 31, 2022
6184a81
Merge pull request #1354 from autofac/feature/resx-update
tillig Oct 31, 2022
890456a
Semver => 6.5.0.
tillig Nov 16, 2022
1ce7e76
Merge branch 'develop' into feature/exception-msg-links
tillig Dec 7, 2022
db84bb6
Doc link for service not registered.
tillig Dec 7, 2022
0faf5c8
InstancePerMatchingLifetimeScope doc link.
tillig Dec 7, 2022
abfeb9d
Use net7.0 in the global json file
alistairjevans Dec 10, 2022
8c511d0
Remove net5 support (out of support)
alistairjevans Dec 10, 2022
2830fe1
Add the dotnet tfm; update some analyser/test packages.
alistairjevans Dec 10, 2022
b21319c
Merge branch 'develop' into feature/do-not-retain-isolated-service-info
alistairjevans Dec 10, 2022
516e602
Make the use of ScopeIsolatedService conditional.
alistairjevans Dec 10, 2022
f92fdc3
Add new ILifetimeScope methods that are naturally attached an Assembl…
alistairjevans Dec 10, 2022
05f0692
Use resource for exception message; use inheritdoc to reduce duplicat…
alistairjevans Dec 11, 2022
737de9e
PR feedback.
alistairjevans Dec 11, 2022
a68bef7
Remove unrequired Directory.Build.targets
alistairjevans Dec 11, 2022
178aa24
Merge pull request #1358 from autofac/feature/dotnet7
tillig Dec 14, 2022
56ec7be
Merge branch 'develop' into feature/do-not-retain-isolated-service-info
alistairjevans Dec 18, 2022
0c79d7b
Merge pull request #1359 from autofac/feature/exception-msg-links
tillig Dec 18, 2022
fdac571
DefaultConstructorFinder doesn't throw on 0 ctor
tillig Jan 4, 2023
507f410
Move "no ctor found" message to exception
tillig Jan 4, 2023
267b2ea
Use local function instead of Action<T>.
tillig Jan 4, 2023
fb80b8d
Remove unnecessary overloads in service binder
tillig Jan 5, 2023
81ef9fd
Suppressed multiple enumeration warnings.
tillig Jan 5, 2023
6654c7f
Merge pull request #1362 from autofac/feature/1360
tillig Jan 8, 2023
b5698cc
Add link to "no ctors found" docs.
tillig Jan 17, 2023
d166b2c
Merge pull request #1363 from autofac/feature/no-ctor-found-doc
tillig Jan 18, 2023
e769bde
Add assembly load/unload tests for BeginLoadContextLifetimeScope
alistairjevans Jan 25, 2023
d6de6fb
Merge branch 'develop' into feature/do-not-retain-isolated-service-info
alistairjevans Jan 25, 2023
aefb608
Fix missing file header.
alistairjevans Jan 25, 2023
4db52ea
In-progress, initial required property support in place.
alistairjevans Jan 25, 2023
7c4d778
Take a new approach to resolving required properties that allows the …
alistairjevans Jan 26, 2023
6f7de49
Add benchmark and tests for required properties.
alistairjevans Jan 28, 2023
8a38698
Additional tests for component hierarchy, and open generics (just in …
alistairjevans Jan 28, 2023
22dc230
Use full name of type when listing required property failures
alistairjevans Jan 28, 2023
34a05a1
Add mixed constructor + property tests.
alistairjevans Jan 28, 2023
6ad196e
Fix indentation.
alistairjevans Jan 28, 2023
521c812
Specify 7.0.101 SDK version to resolve https://github.com/microsoft/v…
alistairjevans Jan 29, 2023
c64f5ca
Specify 7.0.101 SDK version to resolve https://github.com/microsoft/v…
alistairjevans Jan 29, 2023
03c8df9
Make sure the container BeginLoadContextLifetimeScope methods correct…
alistairjevans Jan 29, 2023
a75652f
Improve comment for RequiredMember, add double-resolve test and remov…
alistairjevans Feb 3, 2023
b545b42
Merge pull request #1364 from autofac/feature/required-properties
tillig Feb 3, 2023
f86f6ec
Analyzer optimization - use local function.
tillig Feb 4, 2023
f00050a
Analyzer optimization: Use conditional setting.
tillig Feb 4, 2023
d6c4857
Analyzer optimization: Make struct readonly.
tillig Feb 4, 2023
8891bfc
RegisterGeneratedFactory is obsolete
tillig Feb 4, 2023
e26e842
Suppress obsolete warning on test.
tillig Feb 4, 2023
75261ae
Mark local functions static.
tillig Feb 6, 2023
2adc678
Merge pull request #1366 from autofac/feature/1297
alistairjevans Feb 7, 2023
575dbcf
Merge branch 'develop' into feature/do-not-retain-isolated-service-info
alistairjevans Feb 7, 2023
d769cf7
Update test/Autofac.Test.Scenarios.LoadContext/Autofac.Test.Scenarios…
alistairjevans Feb 7, 2023
dd0eff6
Merge branch 'feature/do-not-retain-isolated-service-info' of https:/…
alistairjevans Feb 7, 2023
d9dc5d6
PR feedback
alistairjevans Feb 7, 2023
4c0dbbf
Fix build and remove extra space character.
alistairjevans Feb 8, 2023
4afda16
Enforce code style in build.
tillig Feb 8, 2023
4cb24f1
Add file header.
tillig Feb 8, 2023
8e65c46
Add type-referenced-assembly walker that determines the set of assemb…
alistairjevans Feb 18, 2023
f6c1f8c
Fix comments.
alistairjevans Feb 18, 2023
eb1d5e8
Try building the scenario projects before running any tests
alistairjevans Feb 20, 2023
f3f4bef
Fix scenario project target frameworks.
alistairjevans Feb 20, 2023
6e00847
Switch to using <ReferenceOutputAssembly>false</> rather than changin…
alistairjevans Feb 25, 2023
7a3aaee
Factored duplicated logic into a TypeAssemblyReferenceProvider method.
alistairjevans Feb 25, 2023
430e28b
Added tests to prove unload works ok with modules and onactivated in …
alistairjevans Feb 26, 2023
f446abb
Merge pull request #1350 from autofac/feature/do-not-retain-isolated-…
alistairjevans Mar 1, 2023
9bb7a0f
Change appveyor version.
alistairjevans Mar 5, 2023
3489ad3
Merge pull request #1368 from autofac/version-change-7.0
alistairjevans Mar 5, 2023
6f335e7
Ignore required properties in the default property selector.
alistairjevans Mar 6, 2023
93c02c1
Enumerables in load context test
alistairjevans Mar 6, 2023
2f5418f
Merge pull request #1370 from autofac/test/load-context-combined-enum…
tillig Mar 6, 2023
1910177
Merge pull request #1369 from autofac/feature/ignore-required-props-i…
tillig Mar 6, 2023
7297957
Optimize Autofac.Features.OpenGenericServiceBinder.TryBindOpenGeneric…
SergeiPavlov Mar 23, 2023
a892f99
reduce lock contention in LifetimeScope.CreateSharedInstance
botinko Mar 23, 2023
d4b7220
Simplify code
botinko Mar 24, 2023
2e622bd
Merge pull request #1375 from botinko/lifetimeScopeContention
tillig Mar 24, 2023
2748277
Revert ReadOnlyList<Service>
SergeiPavlov Mar 24, 2023
2e016ad
Move Concurrentdictionary to ReflectionCacheSet.Shared.Internal.Gener…
SergeiPavlov Mar 24, 2023
d513b6a
Remove using
SergeiPavlov Mar 24, 2023
04d5f75
Fix formatting
SergeiPavlov Mar 24, 2023
1f99354
Add doc comment
SergeiPavlov Mar 24, 2023
d703f81
Fix comment
SergeiPavlov Mar 24, 2023
24a188f
Merge pull request #1374 from SergeiPavlov/optimize_TryBindOpenGeneri…
tillig Mar 24, 2023
f4a54b0
Semver => 7.0.1
tillig Apr 14, 2023
73530e0
Update non-functional dependencies, resolve issues
tillig Apr 14, 2023
27e1832
Use latest .NET SDKs with security patches.
tillig Apr 14, 2023
dc4e4cd
Default solution config for C# Dev Kit/VS Code.
tillig Jun 15, 2023
2d3b367
RegisterType tests for filtering.
tillig Aug 4, 2023
903b2f1
Filter out null types from the list when scanning.
tillig Aug 4, 2023
721e4f1
Housekeeping: spelling, unused namespace refs.
tillig Aug 4, 2023
7996d57
Housekeeping: parameterised => parameterized.
tillig Aug 4, 2023
ea6a125
Share "concrete type" filter between assembly and type scanning.
tillig Aug 4, 2023
1fde081
Refactor and update naming for scanning utilities.
tillig Aug 4, 2023
80d1978
Spelling word.
tillig Aug 4, 2023
aab6734
Centralize check for potential to do reflection activation.
tillig Aug 4, 2023
5e0b472
Better message for invalid RegisterType calls.
tillig Aug 4, 2023
1e4e2af
Remove MOQ infavour of NSubstitute
Aug 10, 2023
07eefa5
Adjust unit tests to account framework differences
Aug 10, 2023
13b3fee
Tests for value type registrations.
tillig Aug 10, 2023
36da90d
Convert all '!= null' to 'is not null'
tillig Aug 10, 2023
17e22eb
Merge pull request #1389 from autofac/feature/registertypes-filtering
tillig Aug 11, 2023
331a693
Semver => 7.1.0
tillig Aug 11, 2023
b94f913
Fix typo
SaNeOr Sep 5, 2023
1808508
Merge pull request #1393 from SaNeOr/develop
tillig Sep 5, 2023
4e7d0e9
Optimization: convert ResolveRequest into readonly struct
SergeiPavlov Oct 16, 2023
a1f5205
Increase test coverage
SergeiPavlov Oct 18, 2023
f2c1158
revert unnecessary test
SergeiPavlov Oct 18, 2023
48cd310
Correct usage of Received
Nov 7, 2023
8c32a76
Correct errant usage of Received
Nov 7, 2023
5af8326
Merge pull request #1390 from aydjay/ajones-NSubstitute
tillig Nov 7, 2023
f8444e8
Use C# dev kit in VS Code.
tillig Nov 7, 2023
6a885d3
global.json - drop net3.1, add net8.0.
tillig Nov 7, 2023
4154d4e
Update settings for C# dev kit.
tillig Nov 7, 2023
d28d636
Drop net3.1, add net8.0, update all dependencies.
tillig Nov 7, 2023
25844a9
Fix analyzer warnings from updated dependencies.
tillig Nov 7, 2023
6e3510e
Add net8 to codegen tests.
tillig Nov 7, 2023
e5e5f1d
Cleaned up target frameworks.
tillig Nov 7, 2023
70cfee2
Spelling: netcoreapp.
tillig Nov 7, 2023
7f43baa
Suppress rules we can't follow.
tillig Nov 7, 2023
334ae01
Analyzer changes.
tillig Nov 7, 2023
0b78ed3
Breaking: DRE is no longer serializable
tillig Nov 7, 2023
bbdcda7
Merge branch 'develop' into struct_ResolveRequest
SergeiPavlov Nov 10, 2023
095a0c3
Remove unrelevant null-checking test
SergeiPavlov Nov 13, 2023
7a25198
Major version bump for breaking changes.
tillig Nov 15, 2023
e61a651
Merge pull request #1401 from autofac/feature/net8
tillig Nov 15, 2023
a518a48
Merge pull request #1397 from SergeiPavlov/struct_ResolveRequest
tillig Nov 15, 2023
b843130
Use released .NET 8.
tillig Nov 17, 2023
af5a140
Optimization: Memoize `RequiredMemberAttribute` search
SergeiPavlov Mar 18, 2024
12ebdf4
Make Dictionary with string key to process Unloading module correctly
SergeiPavlov Mar 18, 2024
679f838
Use `ReflectionCacheSet`
SergeiPavlov Mar 18, 2024
f59930e
Merge branch 'develop' into MemoizeAttribute
SergeiPavlov Mar 18, 2024
3fe2ddf
Remove trailing whitespace
SergeiPavlov Mar 18, 2024
4547d16
Merge pull request #1415 from SergeiPavlov/MemoizeAttribute
tillig Mar 18, 2024
0d121bb
Enable analyzers on tests.
tillig May 23, 2024
ae5aa09
Fix analyzer issues.
tillig May 23, 2024
b3dbd0b
Additional analyzer fixes.
tillig May 23, 2024
06654c0
More analyzer fixes.
tillig May 23, 2024
f094bca
More analyzer fixes.
tillig May 23, 2024
4e0ad9f
Build using latest SDK versions.
tillig May 23, 2024
3d808c9
Merge pull request #1418 from autofac/feature/enable-analyzers-on-tests
tillig May 24, 2024
ec4907f
Allow disposer to handle disposal during tests
tillig May 24, 2024
9437620
correctly handle polyfilled `required` infrastructure attributes
DoctorVanGogh Aug 11, 2024
ec1c53e
fix stylecop errors
DoctorVanGogh Aug 11, 2024
3e617d1
Update src/Autofac/Util/ReflectionExtensions.cs
DoctorVanGogh Aug 12, 2024
685e73c
Update src/Autofac/Util/ReflectionExtensions.cs
DoctorVanGogh Aug 12, 2024
f5346a7
add custom required polyfill for tests
DoctorVanGogh Aug 12, 2024
e68c1b8
use polyfill copied from dotnet runtime
DoctorVanGogh Aug 13, 2024
bb9e961
Replaced ConcurrentBag with ConcurrentQueue. It's causing memory leak…
snaumenko-st Aug 14, 2024
488294e
Merge pull request #1421 from DoctorVanGogh/fix-required
alistairjevans Aug 14, 2024
caa3e04
Add a resolved/compatible service parameter to decorator resolutions.
tillig Aug 14, 2024
c12d527
Merge pull request #1423 from snaumenko-st/tracker-memory-leak
alistairjevans Aug 30, 2024
4059546
Merge pull request #1424 from autofac/feature/generic-decorator
tillig Sep 2, 2024
5aeecc7
Semver 8.0.0 => 8.0.1 for bug fixes.
tillig Sep 2, 2024
a8f398f
Update dependencies to latest.
tillig Sep 2, 2024
4106a2d
Semver 8.0.1 => 8.1.0 for dependency update.
tillig Sep 2, 2024
b222d0f
Use latest SDKs for build.
tillig Sep 2, 2024
42745cd
All parameters derived from ConstantParameter should allow a null value.
tillig Sep 15, 2024
061efb4
Add tests to validate fix for #1427.
tillig Sep 15, 2024
123a155
Remove check for null in WithProperty using lambda.
tillig Sep 15, 2024
3e233e2
Avoid redundant null-checking
SergeiPavlov Sep 20, 2024
59ad08f
Fix boxing in `ResolveRequest.operator==()`
SergeiPavlov Sep 20, 2024
ebc0386
Merge pull request #1430 from SergeiPavlov/ResolveRequest
alistairjevans Sep 21, 2024
e4f1bc6
Merge pull request #1428 from autofac/feature/with-property-consistency
tillig Sep 21, 2024
7a3d538
Revert `ArgumentNullException.ThrowIsNull()`
SergeiPavlov Sep 21, 2024
66cbfda
Remove redundant null-cheking in `RegistrationExtensions`
SergeiPavlov Sep 21, 2024
a576e40
Simplify `.RegisterCallback()`
SergeiPavlov Sep 21, 2024
35c1bd4
Merge pull request #1429 from SergeiPavlov/ane
alistairjevans Sep 30, 2024
edb63ea
Semver => 8.1.1 for bug fixes.
tillig Oct 9, 2024
d2ed00a
Make async disposal test more deterministic.
tillig Oct 9, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
227 changes: 199 additions & 28 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -1,28 +1,199 @@
; EditorConfig to support per-solution formatting.
; Use the EditorConfig VS add-in to make this work.
; http://editorconfig.org/

; This is the default for the codeline.
root = true

[*]
end_of_line = CRLF

[*.{config,cs,xml}]
indent_style = space
indent_size = 4
trim_trailing_whitespace = true

[*.{proj,props,sln,targets}]
indent_style = tab
trim_trailing_whitespace = true

[*.{kproj,csproj,json,ps1,psd1,psm1,resx,rst}]
indent_style = space
indent_size = 2
trim_trailing_whitespace = true

[NuGet.Config]
indent_style = space
indent_size = 2
trim_trailing_whitespace = true
; EditorConfig to support per-solution formatting.
; Use the EditorConfig VS add-in to make this work.
; http://editorconfig.org/

; This is the default for the codeline.
root = true

[*]
indent_style = space
trim_trailing_whitespace = true
insert_final_newline = true

; .NET Code - almost, but not exactly, the same suggestions as corefx
; https://github.com/dotnet/corefx/blob/master/.editorconfig
[*.cs]
indent_size = 4
charset = utf-8-bom

; New line preferences
csharp_new_line_before_open_brace = all
csharp_new_line_before_else = true
csharp_new_line_before_catch = true
csharp_new_line_before_finally = true
csharp_new_line_before_members_in_object_initializers = true
csharp_new_line_before_members_in_anonymous_types = true
csharp_new_line_between_query_expression_clauses = true

; Indentation preferences
csharp_indent_block_contents = true
csharp_indent_braces = false
csharp_indent_case_contents = true
csharp_indent_case_contents_when_block = true
csharp_indent_switch_labels = true
csharp_indent_labels = one_less_than_current

; Modifier preferences
csharp_preferred_modifier_order = public,private,protected,internal,file,static,extern,new,virtual,abstract,sealed,override,readonly,unsafe,required,volatile,async:warning

; Avoid this. unless absolutely necessary
dotnet_style_qualification_for_field = false:suggestion
dotnet_style_qualification_for_property = false:suggestion
dotnet_style_qualification_for_method = false:suggestion
dotnet_style_qualification_for_event = false:suggestion

; Types: use keywords instead of BCL types, using var is fine.
csharp_style_var_when_type_is_apparent = false:none
dotnet_style_predefined_type_for_locals_parameters_members = true:suggestion
dotnet_style_predefined_type_for_member_access = true:suggestion

; Name all constant fields using PascalCase
dotnet_naming_rule.constant_fields_should_be_pascal_case.severity = warning
dotnet_naming_rule.constant_fields_should_be_pascal_case.symbols = constant_fields
dotnet_naming_rule.constant_fields_should_be_pascal_case.style = pascal_case_style
dotnet_naming_symbols.constant_fields.applicable_kinds = field
dotnet_naming_symbols.constant_fields.required_modifiers = const
dotnet_naming_style.pascal_case_style.capitalization = pascal_case

; Static fields should be _camelCase
dotnet_naming_rule.static_fields_should_be_camel_case.severity = warning
dotnet_naming_rule.static_fields_should_be_camel_case.symbols = static_fields
dotnet_naming_rule.static_fields_should_be_camel_case.style = camel_case_underscore_style
dotnet_naming_symbols.static_fields.applicable_kinds = field
dotnet_naming_symbols.static_fields.required_modifiers = static
dotnet_naming_symbols.static_fields.applicable_accessibilities = private, internal, private_protected

; Static readonly fields should be PascalCase
dotnet_naming_rule.static_readonly_fields_should_be_pascal_case.severity = warning
dotnet_naming_rule.static_readonly_fields_should_be_pascal_case.symbols = static_readonly_fields
dotnet_naming_rule.static_readonly_fields_should_be_pascal_case.style = pascal_case_style
dotnet_naming_symbols.static_readonly_fields.applicable_kinds = field
dotnet_naming_symbols.static_readonly_fields.required_modifiers = static, readonly
dotnet_naming_symbols.static_readonly_fields.applicable_accessibilities = private, internal, private_protected

; Internal and private fields should be _camelCase
dotnet_naming_rule.camel_case_for_private_internal_fields.severity = warning
dotnet_naming_rule.camel_case_for_private_internal_fields.symbols = private_internal_fields
dotnet_naming_rule.camel_case_for_private_internal_fields.style = camel_case_underscore_style
dotnet_naming_symbols.private_internal_fields.applicable_kinds = field
dotnet_naming_symbols.private_internal_fields.applicable_accessibilities = private, internal
dotnet_naming_style.camel_case_underscore_style.required_prefix = _
dotnet_naming_style.camel_case_underscore_style.capitalization = camel_case

; Code style defaults
csharp_using_directive_placement = outside_namespace:suggestion
dotnet_sort_system_directives_first = true
csharp_prefer_braces = true:refactoring
csharp_preserve_single_line_blocks = true:none
csharp_preserve_single_line_statements = false:none
csharp_prefer_static_local_function = true:suggestion
csharp_prefer_simple_using_statement = false:none
csharp_style_prefer_switch_expression = true:suggestion

; Code quality
dotnet_style_readonly_field = true:suggestion
dotnet_code_quality_unused_parameters = non_public:suggestion

; Expression-level preferences
dotnet_style_object_initializer = true:suggestion
dotnet_style_collection_initializer = true:suggestion
dotnet_style_explicit_tuple_names = true:suggestion
dotnet_style_coalesce_expression = true:suggestion
dotnet_style_null_propagation = true:suggestion
dotnet_style_prefer_is_null_check_over_reference_equality_method = true:suggestion
dotnet_style_prefer_inferred_tuple_names = true:suggestion
dotnet_style_prefer_inferred_anonymous_type_member_names = true:suggestion
dotnet_style_prefer_auto_properties = true:suggestion
dotnet_style_prefer_conditional_expression_over_assignment = true:refactoring
dotnet_style_prefer_conditional_expression_over_return = true:refactoring
csharp_prefer_simple_default_expression = true:suggestion

# Expression-bodied members
csharp_style_expression_bodied_methods = true:refactoring
csharp_style_expression_bodied_constructors = true:refactoring
csharp_style_expression_bodied_operators = true:refactoring
csharp_style_expression_bodied_properties = true:refactoring
csharp_style_expression_bodied_indexers = true:refactoring
csharp_style_expression_bodied_accessors = true:refactoring
csharp_style_expression_bodied_lambdas = true:refactoring
csharp_style_expression_bodied_local_functions = true:refactoring

# Pattern matching
csharp_style_pattern_matching_over_is_with_cast_check = true:suggestion
csharp_style_pattern_matching_over_as_with_null_check = true:suggestion
csharp_style_inlined_variable_declaration = true:suggestion

# Null checking preferences
csharp_style_throw_expression = true:suggestion
csharp_style_conditional_delegate_call = true:suggestion

# Other features
csharp_style_namespace_declarations = file_scoped:suggestion
csharp_style_prefer_index_operator = false:none
csharp_style_prefer_range_operator = false:none
csharp_style_pattern_local_over_anonymous_function = false:none

# Space preferences
csharp_space_after_cast = false
csharp_space_after_colon_in_inheritance_clause = true
csharp_space_after_comma = true
csharp_space_after_dot = false
csharp_space_after_keywords_in_control_flow_statements = true
csharp_space_after_semicolon_in_for_statement = true
csharp_space_around_binary_operators = before_and_after
csharp_space_around_declaration_statements = do_not_ignore
csharp_space_before_colon_in_inheritance_clause = true
csharp_space_before_comma = false
csharp_space_before_dot = false
csharp_space_before_open_square_brackets = false
csharp_space_before_semicolon_in_for_statement = false
csharp_space_between_empty_square_brackets = false
csharp_space_between_method_call_empty_parameter_list_parentheses = false
csharp_space_between_method_call_name_and_opening_parenthesis = false
csharp_space_between_method_call_parameter_list_parentheses = false
csharp_space_between_method_declaration_empty_parameter_list_parentheses = false
csharp_space_between_method_declaration_name_and_open_parenthesis = false
csharp_space_between_method_declaration_parameter_list_parentheses = false
csharp_space_between_parentheses = false
csharp_space_between_square_brackets = false

; .NET project files and MSBuild - match defaults for VS
[*.{csproj,nuspec,proj,projitems,props,shproj,targets,vbproj,vcxproj,vcxproj.filters,vsixmanifest,vsct}]
indent_size = 2

; .NET solution files - match defaults for VS
[*.sln]
indent_style = tab

; Config - match XML and default nuget.config template
[*.config]
indent_size = 2

; Resources - match defaults for VS
[*.resx]
indent_size = 2

; Static analysis rulesets - match defaults for VS
[*.ruleset]
indent_size = 2

; HTML, XML - match defaults for VS
[*.{cshtml,html,xml}]
indent_size = 4

; JavaScript and JS mixes - match eslint settings; JSON also matches .NET Core templates
[*.{js,json,ts,vue}]
indent_size = 2

; Markdown - match markdownlint settings
[*.{md,markdown}]
indent_size = 2

; PowerShell - match defaults for New-ModuleManifest and PSScriptAnalyzer Invoke-Formatter
[*.{ps1,psd1,psm1}]
indent_size = 4
charset = utf-8-bom

; ReStructuredText - standard indentation format from examples
[*.rst]
indent_size = 2
11 changes: 11 additions & 0 deletions .git-blame-ignore-revs
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# Ignore revisions in git blame - set your git config to use the file by convention:
# git config --global blame.ignoreRevsFile .git-blame-ignore-revs
#
# Optional additional git config:
# Mark any lines that have had a commit skipped using --ignore-rev with a `?`
# git config --global blame.markIgnoredLines true
# Mark any lines that were added in a skipped commit and can not be attributed with a `*`
# git config --global blame.markUnblamableLines true

# Convert to file-scoped namespaces.
48039bd166a76ad7935e3c66eb608fd08b0889fc
3 changes: 3 additions & 0 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
github:
- alistairjevans
- tillig
12 changes: 10 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@

# Project specific files
artifacts/
BenchmarkDotNet.Artifacts/

# User-specific files
*.suo
Expand All @@ -22,7 +23,6 @@ x64/
# Visual Studio 2015 cache/options directory
.dotnet/
.vs/
.vscode/
.cr/

# Enable "build/" folder in the NuGet Packages folder since NuGet packages use it for MSBuild targets
Expand Down Expand Up @@ -84,6 +84,11 @@ _TeamCity*
# DotCover is a Code Coverage Tool
*.dotCover

# Coverage
coverage.*
codecov.sh
coverage/

# NCrunch
*.ncrunch*
.*crunch*.local.xml
Expand All @@ -109,7 +114,6 @@ publish/
*.pubxml

# NuGet Packages Directory
## TODO: If you have NuGet Package Restore enabled, uncomment the next line
packages/

# Windows Azure Build Output
Expand All @@ -134,6 +138,7 @@ node_modules/
bower_components/
wwwroot/
project.lock.json
*.Designer.cs

# RIA/Silverlight projects
Generated_Code/
Expand Down Expand Up @@ -165,3 +170,6 @@ $RECYCLE.BIN/

# Mac crap
.DS_Store

# JetBrains Rider
.idea
7 changes: 7 additions & 0 deletions .vscode/extensions.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"recommendations": [
"ms-dotnettools.csdevkit",
"editorconfig.editorconfig",
"davidanson.vscode-markdownlint"
]
}
29 changes: 29 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
{
"cSpell.words": [
"actnars",
"autofac",
"autowired",
"autowiring",
"browsable",
"cref",
"diagnoser",
"finalizers",
"inheritdoc",
"langword",
"netcoreapp",
"netstandard",
"notnull",
"paramref",
"startable",
"subclassing",
"typeparam",
"unconfigured",
"xunit"
],
"dotnet.defaultSolution": "Autofac.sln",
"explorer.fileNesting.enabled": true,
"explorer.fileNesting.patterns": {
"*.resx": "$(capture).*.resx, $(capture).designer.cs, $(capture).designer.vb"
},
"omnisharp.enableEditorConfigSupport": true
}
39 changes: 39 additions & 0 deletions .vscode/tasks.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
{
"tasks": [
{
"args": [
"build",
"${workspaceFolder}/Autofac.sln",
"/property:GenerateFullPaths=true",
"/consoleloggerparameters:NoSummary"
],
"command": "dotnet",
"group": {
"isDefault": true,
"kind": "build"
},
"label": "build",
"problemMatcher": "$msCompile",
"type": "shell"
},
{
"args": [
"test",
"${workspaceFolder}/Autofac.sln",
"/property:GenerateFullPaths=true",
"/consoleloggerparameters:NoSummary",
"--filter",
"FullyQualifiedName!~Benchmark"
],
"command": "dotnet",
"group": {
"isDefault": true,
"kind": "test"
},
"label": "test",
"problemMatcher": "$msCompile",
"type": "process"
}
],
"version": "2.0.0"
}
Loading