首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当我添加依赖项时,Octopack无法生成

当我添加依赖项时,Octopack无法生成
EN

Stack Overflow用户
提问于 2013-01-24 11:01:12
回答 3查看 1.8K关注 0票数 2

Octopack无法使用以下xml构建

代码语言:javascript
复制
<?xml version="1.0"?>
<package >
  <metadata>
    <id>WebCrawlerMVC</id>
    <version>1.0.0.0</version>
    <title>Web Crawler</title>
    <authors>lardern</authors>
    <owners>Nostrum Group</owners>
    <requireLicenseAcceptance>false</requireLicenseAcceptance>
    <description>packaging webcrawler mvc</description>
    <releaseNotes>no release notes</releaseNotes>
    <copyright>Copyright 2013</copyright>
  </metadata>
   <dependencies>
        <dependency id="Ninject" version="3.0.1.10" />
        <dependency id="HtmlAgilityPackHelpers" />
    </dependencies>
    <files src="C:\Users\lardern\Documents\Visual Studio 2010\Projects\WebCrawlerMVC\packages\Ninject.3.0.1.10\lib\net40\Ninject.dll"/>
    <files src="C:\Users\lardern\Documents\Visual Studio 2010\Projects\HtmlAgilityPack\HtmlAgilityPack\HtmlAgilityPackHelpers\bin\Release\HtmlAgilityPackHelpers.dll" />
</package>

我收到的错误是

错误2命令“C:\Users\lardern\ 2010\Projects\WebCrawlerMVC\WebCrawlerMVC..\packages\OctoPack.1.0.111\tools\NuGet.exe”\Visual 2010\Projects\WebCrawlerMVC\WebCrawlerMVC\WebCrawlerMVC.nuspec“pack "C:\Users\lardern\Documents\Visual 2010\Projects\WebCrawlerMVC\WebCrawlerMVC\WebCrawlerMVC.nuspec”-OutputDirectory "bin“-basePath”bin "C:\Users\lardern\Documents\Visual 2010\Projects\ WebCrawlerMVC \WebCrawlerMVC\WebCrawlerMVC“-Version "1.0.0.0”-NoPackageAnalysis“与代码1共存。

我不太清楚这意味着什么,如果我没有添加依赖项,那么它在发布版中构建得很好,否则就会出现这个错误。

编辑:我编辑了上面的代码,谢谢你发现了亚当的错误,但是错误仍然发生。还取出每个依赖项,看看是否导致了错误,失败了两次。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-01-24 11:21:53

如果您查看完整的构建日志,您应该能够找到更多的信息,而不仅仅是上面的错误行-- NuGet.exe可能在抱怨它们。

然而,八达通包无论如何,都不应该包括依赖项。

另一个不能很好地转换为八达通的NuGet特性是依赖项。NuGet有一个便于跟踪包间依赖关系的功能。例如,当像NHibernate这样的包依赖于像log4net这样的包时,就会使用这种方法。NuGet将安装NHibernate,解析依赖项,并安装log4net。需要注意的是,NuGet会将它们安装到磁盘上的两个单独的文件夹中: 包/NHibernate.x.y.z包/log4net.x.y.z 虽然这对于通过Visual引用的库来说是有意义的,但在Octopus中却没有意义,原因与上述相同。例如,如果您的八达通应用程序包依赖于log4net,则在磁盘上有: 包/YourApp.x.y.z包/log4net.x.y.z 在运行时,YourApp下的可执行文件或YourApp站点将尝试调用log4net中的方法,但由于找不到DLL而失败。虽然理论上可以使用配置文件中的探测路径来解决这一问题,但在实践中最好避免这种方法。 因此,八达通NuGet包不能有依赖项。 相反,您需要使用的任何库都应该捆绑在标准二进制文件文件夹中的包中。

票数 4
EN

Stack Overflow用户

发布于 2013-01-24 11:05:36

看起来在第二行到最后一行的末尾有一个>缺失的。8)

编辑:好吧,也许不是那样的。但是我发现此链接描述了路径中有一个空格的问题。

也许这是相关的?

票数 1
EN

Stack Overflow用户

发布于 2015-07-20 14:28:45

https://docs.nuget.org/create/nuspec-reference#specifying-dependencies

依赖项元素是元数据元素的子元素。

我想这就是为什么您在运行nuget pack时出错的原因。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14499733

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档