Open
Description
In roslyn-analyzers there is a bunch of tickets open related to porting some old FxCop rules. Because most of these are dated from 2015, we were wondering if it would be worth having them under review as their relevance or the context in which they apply may have changed.
I have tried to filter down the ones related to .NET API but I may have missed or included incorrect ones (if you want to review them all, please look at https://github.com/dotnet/roslyn-analyzers/issues?q=is%3Aopen+label%3AFxCop-Port+-label%3A%22Needs-Fixer%22):
(tagging @mavasani )
Native resources/Interop
- Port FxCop rule CA1049: TypesThatOwnNativeResourcesShouldBeDisposable roslyn-analyzers#395
- Port FxCop rule CA1402: AvoidOverloadsInComVisibleInterfaces roslyn-analyzers#418
- Port FxCop rule CA1403: AutoLayoutTypesShouldNotBeComVisible roslyn-analyzers#419
- Port FxCop rule CA1404: CallGetLastErrorImmediatelyAfterPInvoke roslyn-analyzers#420
- Port FxCop rule CA1405: ComVisibleTypeBaseTypesShouldBeComVisible roslyn-analyzers#421
- Port FxCop rule CA1407: AvoidStaticMembersInComVisibleTypes roslyn-analyzers#423
- Port FxCop rule CA1408: DoNotUseAutoDualClassInterfaceType roslyn-analyzers#424
- Port FxCop rule CA1409: ComVisibleTypesShouldBeCreatable roslyn-analyzers#425
- Port FxCop rule CA1410: ComRegistrationMethodsShouldBeMatched roslyn-analyzers#426
- Port FxCop rule CA1411: ComRegistrationMethodsShouldNotBeVisible roslyn-analyzers#427
- Port FxCop rule CA1412: MarkComSourceInterfacesAsIDispatch roslyn-analyzers#428
- Port FxCop rule CA1413: AvoidNonpublicFieldsInComVisibleValueTypes roslyn-analyzers#429
- Port FxCop rule CA1414: MarkBooleanPInvokeArgumentsWithMarshalAs roslyn-analyzers#430
- Port FxCop rule CA1415: DeclarePInvokesCorrectly roslyn-analyzers#431
- Port FxCop rule CA2004: RemoveCallsToGCKeepAlive roslyn-analyzers#479
- Port FxCop rule CA2006: UseSafeHandleToEncapsulateNativeResources roslyn-analyzers#480
- Port FxCop rule CA2205: UseManagedEquivalentsOfWin32Api roslyn-analyzers#530
WinForms
- Port FxCop rule CA1300: SpecifyMessageBoxOptions roslyn-analyzers#408
- Port FxCop rule CA1301: AvoidDuplicateAccelerators roslyn-analyzers#409
- Port FxCop rule CA2232: MarkWindowsFormsEntryPointsWithStaThread roslyn-analyzers#545
Serialization
- Port FxCop rule CA2236: CallBaseClassMethodsOnISerializableTypes roslyn-analyzers#548
- Port FxCop rule CA2238: ImplementSerializationMethodsCorrectly roslyn-analyzers#549
- Port FxCop rule CA2239: ProvideDeserializationMethodsForOptionalFields roslyn-analyzers#550
- Port FxCop rule CA2240: ImplementISerializableCorrectly roslyn-analyzers#551
Others
- Port FxCop rule CA1013: OverloadOperatorEqualsOnOverloadingAddAndSubtract #64647
- Port FxCop rule CA1023: IndexersShouldNotBeMultidimensional roslyn-analyzers#378
- Port FxCop rule CA1057: StringUriOverloadsCallSystemUriOverloads roslyn-analyzers#401
- Port FxCop rule CA1306: SetLocaleForDataTypes roslyn-analyzers#414
- Port FxCop rule CA1600: DoNotUseIdleProcessPriority roslyn-analyzers#438
- Port FxCop rule CA1601: DoNotUseTimersThatPreventPowerStateChanges roslyn-analyzers#439
- Port FxCop rule CA2001: AvoidCallingProblematicMethods roslyn-analyzers#477