Come condividere le impostazioni del pacchetto NuGet comuni tra i progetti (csproj 2017)

0

Vorrei condividere i valori del pacchetto NuGet comuni tra progetti nella stessa soluzione, come Autore , Azienda , Copyright e Prodotto .

Precedentemente (utilizzando il formato del progetto 2015), avrei usato una combinazione di AssemblyInfo.cs e un GlobalAssemblyInfo.cs condiviso (collegato) che conteneva tutte le impostazioni comuni. Ora che sto usando il formato csproj 2017 e la CLI dotnet, mi piacerebbe sostituire quella vecchia tecnica con una che si adatta meglio agli strumenti attuali. Tuttavia, il mio problema deriva dal fatto che ogni impostazione ora risiede direttamente nel file csproj , rendendo difficile la separazione dei valori comuni.

Come si potrebbe fare questo?

    
posta Matt DiTrolio 21.03.2018 - 15:37
fonte

1 risposta

2

È semplice da raggiungere: usa un file Directory.Build.props nella cartella della soluzione e inserisci quei valori lì dentro. Prende il seguente formato (proprio come i nuovi file .csproj):

<Project>
    <PropertyGroup>
        <Version>3.1.0</Version>
        <Company>Me</Company>
        <TreatWarningsAsErrors>True</TreatWarningsAsErrors>
        <RepositoryUrl>https://github.com/...</RepositoryUrl>
        <RepositoryType>git</RepositoryType>
        <PackageLicenseUrl>https://raw.githubusercontent.com/...</PackageLicenseUrl>
        ...
    </PropertyGroup>
</Project>

Per impostazione predefinita, MSBuild cerca i file Directory.Build.props in tutte le directory madri dalla posizione del progetto e li aggiunge alla configurazione del progetto su build.

    
risposta data 21.03.2018 - 15:55
fonte

Leggi altre domande sui tag