我们目前正在重构一个旧的Win Forms应用程序,该应用程序使用框架作为整个应用程序中的参考项目。我对nuget和.net相当陌生,所以希望您不要介意我的新手问题。
我们从csproj(Syncing.nupgk)创建了一个nuget包。该软件包引用了其他软件包,例如Newtonsoft或Consul。当我构建项目时,我的syncing.dll被复制到Win Forms项目的bin文件夹中,但是其他dll(newtonsoft.dll,consul.dll)被复制到具有lib \ net45等结构的packages文件夹中。 / p>
我如何告诉Visual Studio,我还需要项目bin文件夹中的newtonsoft.dll,因为它是我的syncing.dll的依赖项
thx!
答案 0 :(得分:0)
我通常为此目的使用nuspec
文件。对于您来说,您将拥有Syncing.csproj.nuspec
,它看起来像这样:
<?xml version="1.0" encoding="utf-8"?>
<package xmlns="http://schemas.microsoft.com/packaging/2012/06/nuspec.xsd">
<metadata>
<id>Syncing</id>
<authors></authors>
<owners></owners>
<requireLicenseAcceptance>true</requireLicenseAcceptance>
<licenseUrl></licenseUrl>
<projectUrl></projectUrl>
<iconUrl></iconUrl>
<description></description>
<language></language>
<tags></tags>
<dependencies>
<group targetFramework=".NETStandard2.0">
<dependency id="Newtonsoft.Json" version="12.0.2" exclude="Build,Analyzers" />
...
</group>
</dependencies>
</metadata>
</package>
您可以查看以下两个链接以获取更多信息: -https://docs.microsoft.com/en-us/nuget/reference/nuspec -这就是我使用.nuspec文件在https://github.com/borkke/opentracing-csharp-mongo/blob/master/src/OpenTracing.Contrib.Mongo/OpenTracing.Contrib.Mongo.csproj.nuspecnuget
上发布规范库的方式