如何通过nuget包共享源代码,以便在.NET Core项目中使用
我想在.NET Core项目(.csproj)中使用可用的小部分源代码(例如帮助程序类)。 此时,我根据不同的博客文章和官方nuget文档,以许多不同的方式使用NuGet打包源代码。 我使用了一个nuspec文件来控制我的源文件最终会在nuget包中的位置,例如:
我没有包含任何msbuild目标文件或安装脚本。
每当我将NuGet包安装到.NET Core项目( https://docs.microsoft.com/en-us/dotnet/core/tools/csproj )时,我根本就没有得到任何东西。 我的项目中不会包含任何源文件。 我尝试了.csproj(PrivateAssets等)中的节点的不同设置,但没有成功。
这有可能吗? 如果是这样,应该怎么做?
背景:
这样做的原因是某种钻石问题,我们有项目B和C都使用辅助类A和第三个项目D使用B和C.在这种情况下,我不想处理不同时的汇编版本冲突(在B和C中使用了不兼容的A版本。
这有可能吗? 如果是这样,应该怎么做?
答案是肯定的。 由于您测试项目类型是.net核心。 您应该使用contentFiles
而不是content
。 content
用于packages.config。 检查使用contentFiles元素查找内容文件和博客NuGet ContentFiles Demystified以获取更多详细信息。
所以你的.nuspec
文件应该是:
MyTestCore 5.0.0 TestContentFile TestContentFile false Package Description
nuget包应该看起来像:
注意:创建新包时,不要忘记在C:\Users\
文件夹中删除此包的nuget缓存,否则,它始终安装旧包。
使用此方法,源文件将包含在项目中。
希望这可以帮助。
- 使用Novell.Directory.Ldap.NETStandard库进行C#netcore ldap身份validation
- 将Env Conn字符串注入.NET Core 2.0 w / EF Core DbContext中的不同类lib比启动prj并实现IDesignTimeDbContextFactory
- 如何加载位于.net核心控制台应用程序中的文件夹中的程序集
- 配置HttpClientFactory时出现证书错误
- 为什么Finalize / Destructor示例在.NET Core中不起作用?
- dotnet使用本地包文件添加包
- 只有1个Main方法的XUnit测试项目:“程序定义了多个入口点。”
- 将.NETFramework 4.5 dll添加到.NETCore项目中
- Store未实现IUserRoleStore ASP.NET Core 2.1 Identity