How to share source code via NuGet packages for use in .NET Core projects

后端 未结 1 422
说谎
说谎 2020-12-18 05:07

I want to make small pieces of source code (e.g. helper classes) available for use in .NET Core projects (.csproj). At this point I packaged the source code with NuGet in ma

相关标签:
1条回答
  • 2020-12-18 05:37

    Is it meant to be possible at all? If so, how should it be done?

    The answer is yes. Since you test project type is .net core. You should use contentFiles instead of content. content is used for packages.config. Check the Using the contentFiles element for content files and blog NuGet ContentFiles Demystified for more details.

    So your .nuspec file should be:

    <?xml version="1.0" encoding="utf-8"?>
    <package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
      <metadata>
        <id>MyTestCore</id>
        <version>5.0.0</version>
        <authors>TestContentFile</authors>
        <owners>TestContentFile</owners>
        <requireLicenseAcceptance>false</requireLicenseAcceptance>
        <description>Package Description</description>
        <contentFiles>
          <files include="any/any/Test.cs" buildAction="content" flatten="true" copyToOutput="true"/>
        </contentFiles>
      </metadata>
    
      <files>
        <file src="contentFiles/any/any/Test.cs" target="contentFiles/any/any/LruCache" />
      </files>
    </package>
    

    The nuget package should be looks like:

    Note: When you create a new package, do not forgot to remove the nuget cache for this package in the C:\Users\<UserName>\.nuget\packages folder, otherwise, it always install the old package.

    With this method, the source files will be included into your project.

    Hope this helps.

    0 讨论(0)
提交回复
热议问题