首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >创建nuget包失败时“Path不是法律形式的”

创建nuget包失败时“Path不是法律形式的”
EN

Stack Overflow用户
提问于 2013-06-12 13:30:33
回答 5查看 6K关注 0票数 5

在构建后的步骤中,我们创建nuget包。由于某些原因,这在我的机器上总是失败,而在其他开发人员机器上工作。

执行的命令是:

代码语言:javascript
复制
nuget.exe  pack "$(ProjectPath)" -Properties Configuration=$(ConfigurationName) -OutputDir "$(ProjectDir)..\Apps"

我得到的输出是:

代码语言:javascript
复制
Packing files from ''.
Using 'Organisation.AppName.Modules.Kcs.nuspec' for metadata.
The path is not of a legal form.

对于其他开发人员,第一行包含目录。它在我的盒子上的工作方式有什么不同呢?我可以设置一些选项来改变这种行为吗?

编辑:,我下载了nuget源代码,发现问题出了问题。通过一个小的测试程序,我可以模拟它:

代码语言:javascript
复制
using System;
using Microsoft.Build.Evaluation;

namespace CheckTarget
{
    class Program
    {
        static void Main(string[] args)
        {
            if (args.Length == 0)
            {
                Console.WriteLine("usage: CheckTarget projectfile.csproj");
                Console.WriteLine();
                return;
             }

             string path = args[0];
             var project = new Project(path);


             Console.WriteLine("TargetDir = {0}", project.GetProperty("TargetDir") != null ? project.GetProperty("TargetDir").EvaluatedValue : string.Empty);
             Console.WriteLine("TargetPath = {0}", project.GetProperty("TargetPath").EvaluatedValue);
             Console.ReadKey();
         }
     }
}

在我的机器上,targetdir是空的,在另一台机器上,targetdir指向有效的目录。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2013-06-18 08:07:37

终于找到了答案。这个线程帮助我找到了问题:http://social.msdn.microsoft.com/Forums/en-US/msbuild/thread/d3c6e2de-1e87-49c2-b059-df074868e315/

在我的机器上有一个环境变量“platform”,其值为“BWS”。删除它和事情是有效的!

票数 3
EN

Stack Overflow用户

发布于 2015-03-13 16:10:39

在nuget程序中使用属性平台实现-Properties参数

代码语言:javascript
复制
-Properties Platform=$(Platform)

其中$( platform )是您的项目平台之一(定义在csproj文件中,通常是x86,“任意CPU”,.)。

在你的情况下,运行如下:

代码语言:javascript
复制
nuget.exe pack "$(ProjectPath)" -Properties Configuration="$(ConfigurationName)" Platform="$(Platform)" -OutputDir "$(ProjectDir)..\Apps"
票数 4
EN

Stack Overflow用户

发布于 2015-10-17 02:07:52

我也有同样的问题----这是我在源代码管理中携带的旧nuget版本,我删除了.nuget文件夹,然后从visual studio卸载nuget,通过选择

工具>扩展和更新,

选择nuget & uninstall,然后执行相同的过程,但是要安装它,只需确保在"online“存储库中进行搜索即可。

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

https://stackoverflow.com/questions/17066856

复制
相关文章

相似问题

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