far*_*ina 50 nuget nuget-package
我将在这里提出几个问题...首先,使用NuGet可以从几个DLL创建一个包吗?没有visual studio项目,只有命令行和一些预编译的DLL文件.
第二,假设这是可能的,为什么我不断得到"lib文件夹之外的程序集"警告?我已经尝试了所有我能想到的关联程序集将自己添加为NuGet包内的引用.
我的文件结构如下所示
Root
- File1.dll
- lib
- File2.dll
- File3.dll
Run Code Online (Sandbox Code Playgroud)
当我告诉NuGet使用像这样的.nuspec打包它
<?xml version="1.0"?>
<package >
<metadata>
<id>File1.dll</id>
<version>1.0.0</version>
<authors>thisguy</authors>
<owners>thisguysmom</owners>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<description>This is some library</description>
<releaseNotes>Porting to NuGet</releaseNotes>
<copyright>Copyright 2012</copyright>
<references>
<reference file="File2.dll" />
<reference file="File3.dll" />
</references>
</metadata>
</package>
Run Code Online (Sandbox Code Playgroud)
我收到了警告.从我正在阅读的内容来看,我甚至不必在任何项目中定义引用节点,因为lib文件夹项应该自动添加为引用?
有没有人了解这个NuGet一塌糊涂?
Jas*_*all 20
我刚遇到这个问题.Nuget期待一个看起来像这样的结构:
root
- lib
- net40
- File1.dll
- File2.dll
- File3.dll
Run Code Online (Sandbox Code Playgroud)
适用于.net版本的net40或net20或net45.
跑
nuget pack yourlibrary.nuspec
Run Code Online (Sandbox Code Playgroud)
打包它.
这将收拾dir批发并把它放入nupkg.此时错误消息将消失.
Ale*_*ion 17
您想要引用的任何DLL都应该位于lib文件夹下.警告是因为file1.dll在lib之外,在程序包安装期间将被忽略.(其他特殊文件夹是"内容"和"工具")
我用过这个结构:
Root
- lib
- File1.dll
- File2.dll
- File3.dll
Run Code Online (Sandbox Code Playgroud)
有关其他详细信息,请参阅:http://docs.nuget.org/docs/creating-packages/creating-and-publishing-a-package#Package_Conventions.
Pro*_*gle 13
对于本文截至目前为止的NuGet版本(我也假设更高版本),您可以使用.csproj文件与.nuspec文件一起创建包.我们做的是创建一个.nuspec文件(使用nuget规范然后自定义它)并将其包含在项目中.
使用自定义的.nuspec文件,我们使用了以下命令:
nuget pack sample.csproj -IncludeReferencedProjects
Run Code Online (Sandbox Code Playgroud)
那时它构建了.nupkg并且没有发出问题..nupkg文件显示在正常输出文件夹中(在我的默认情况下为bin\debug).
Mad*_*jan 10
您可以通过在nuspec文件中添加以下内部标记来添加对其他dll的引用
<package>
<metadata>
...
</metadata>
<files>
<file src="..\ReferencedFolder\*.*" target="lib\net40\" />
</files>
</package>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
37591 次 |
| 最近记录: |