Skip to content

Too many defaults that are opt-out, and they are different from what MSbuild and the .NET Core SDK chose as defaults #1912

@jcagme

Description

@jcagme

Aspnet has a defined set of properties which are different from the default values in Arcade so they had to put workarounds. i.e.

Full list of properties they had to work around were:

  • Xliff tasks for resx generation.
  • DebugType == embedded
  • Strong name key == MicrosoftShared
  • Test framework == xunit 2.4.1-pre.build.4059. (We were on 2.3 and there are breaking changes between 2.3 and 2.4)
  • Using ref assemblies from a NuGet package for .NET Framework projects (Microsoft.NETFramework.ReferenceAssemblies). This breaks some ASP.NET scenarios
  • MSBuild warnings as errors. Sometimes warnings are inevitable and we don’t have a way to fix the warnings.
  • Projects, by default, do not produce packages when calling dotnet pack. (This is the opposite default that Microsoft.NET.Sdk chose.)
  • Any project named “Tests” gets automatic references to xunit. We have some tests that use NUnit.
  • The obj/ and bin/ folders are moved to the repo root. (I actually like this but…) it’s not the default MSBuild chose, and we rely on some tools which don’t work unless bin/ and obj/ are in the default MSbuild location.

Is the idea for customers to have these types of workarounds in place defining the values of the properties or we should have a better overriding story in place?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions