相关疑难解决方法(0)

如何在NuGet包中为类库包含Xml Docs?

我正在为C#类库创建一个NuGet包,我想在库中包含生成的Xml文档.这是我的nuspec文件:

<?xml version="1.0" encoding="utf-8"?>
<package>
  <metadata>
    <id>MyLibrary</id>
    <version>1.0.0.0</version>
    <authors>John Nelson</authors>
    <language>en-US</language>
    <description>A C# class library</description>
  </metadata>
  <files>
    <file src="..\..\build\MyLibrary.dll" target="lib\Net40" />
    <file src="..\..\build\MyLibrary.xml" target="lib\Net40" />
  </files>
</package>
Run Code Online (Sandbox Code Playgroud)

当我使用此命令构建包时:

nuget pack MyLibrary.nuspec
Run Code Online (Sandbox Code Playgroud)

它会产生错误.如果我删除该行:

<file src="..\..\build\MyLibrary.xml" target="lib\Net40" />
Run Code Online (Sandbox Code Playgroud)

NuGet.exe成功创建了nupkg.我甚至可以解压缩包,并验证内容是否正确.我究竟做错了什么?xml文件应该进入不同的目标目录吗?

c# nuget nuget-package

93
推荐指数
2
解决办法
2万
查看次数

调试私有NuGet包?

我使用symbols选项将一些私有/内部库作为NuGet包发布.包和符号托管在内部网络共享上.调试时如何进入这些包?

当我从这些包中进行编码时,Visual Studio会显示"No Source Available"/"No Symbols Found"页面.单击"加载符号"仅允许pdb文件,而不是符号包.

这些包不适合在NuGet Gallery/SymbolSource上发布.

debugging visual-studio nuget

39
推荐指数
2
解决办法
2万
查看次数

将* .snupkg符号包发布到VSTS中的私有提要

我想使用VSTS构建程序将基于.net标准的代码打包并发布为nuget程序包。我创建了一个私有的nuget提要(在VSTS Artifacts中),我希望将nuget包和Symbols包一起发布到该提要。

我尝试使用dotnet CLI任务进行构建和发布,但它仅将.nupkg而不是* .snupkg发布到nuget提要。

我在Google上搜索了很多,但只找到了与发布到nuget.org而不是私人供稿有关的文章。

nuget azure-devops azure-pipelines azure-artifacts

6
推荐指数
2
解决办法
1998
查看次数

显示我的 nuget 的源代码

我和我的团队构建了我们自己的框架,我们在许多项目中使用。我们曾经将框架的项目包含在所有其他项目中,但后来我们决定将框架放入 nuget 服务器上的 nuget 包主机中,以便我们可以在开发过程中更轻松地进行版本控制和传播框架。

一切都工作正常,除了但有一些明显的副作用。

Visual Studio 无法直接查看 nuget 的 dll 本身,因此 VS 搜索引擎无法查找我的 nuget 中存在的函数。出于同样的原因,我认为我无法再在项目中看到框架的源代码,只显示元数据。

我知道 nuget 包不显示其自己的源代码是正常行为,但我想知道是否可以将 nuget 包设置为“可信模式”,以便 Visual Studio 能够搜索其中的函数开发人员能够直接查看源代码(当然无法编辑它)。

多谢。

.net visual-studio nuget

5
推荐指数
1
解决办法
5318
查看次数

调试Nuget包不起作用

我正在尝试创建一个调试器nuget包.所以,我从"创建符号包"开始.使用创建包 nuget pack PackageARM.nuspec -Symbols

PackageARM.nuspec:

<?xml version="1.0" encoding="utf-8"?>
<package xmlns="http://schemas.microsoft.com/packaging/2012/06/nuspec.xsd">
  <metadata>
    <id>PackageARM</id>
    <version>1.0.15</version>
    <authors>PackageARM</authors>
    <owners>PackageARM</owners>
    <requireLicenseAcceptance>false</requireLicenseAcceptance>
    <description>Package Description</description>
    <dependencies>
      <group targetFramework=".NETStandard2.0" />
    </dependencies>
  </metadata>
  <files>
        <file src="bin\Release\netstandard2.0\*.pdb" target="lib\netstandard2.0" />
        <file src="bin\Release\netstandard2.0\*.dll" target="lib\netstandard2.0" />
        <file src="**\*.cs"  target="src" />
    </files>
</package>
Run Code Online (Sandbox Code Playgroud)

并将其推向nuget:https://www.nuget.org/packages/PackageARM/1.0.15

然后取消选中Enable Just My Code并检查Enable source server supportVS 2017.此外,我尝试添加符号服务器:https://www.nuget.org,https: //nuget.smbsrc.net/但没有结果.

当我尝试从包使用F11进入方法时,它只是步骤到下一行.我错过了什么?

我的pdb文件包含.cs文件的路径,即'C:\ project\ProjectARM\Class1.cs'可以吗?如果没有源路径,其他用户如何调试?

c# debugging visual-studio nuget

5
推荐指数
1
解决办法
465
查看次数

如何使用本地文件夹中的 nuget 符号包进行调试?

我的服务器上有一个文件夹,用于托管我的 nuget 包。这些包不包含源代码或符号 (PDB)。这很好用。

最近,我在本地服务器上设置了另一个文件夹来托管 nuget 包中程序集的符号文件。

我已将符号文件夹的路径添加到 Visual Studio,当我将 PDB 文件放在文件夹中时,它们会在 VS 中正确加载,并且我可以在调试时进入代码。如果我查看 VS 中的符号加载信息,我可以看到 PDB 是从我服务器上的符号文件夹下载的,确认一切正常。

我相信做这种事情的首选方法是让 nuget 在创建 nuget 包的同时创建一个符号包,我想转向这种工作方式。

创建符号和 nuget 包不是问题。问题是,当我(使用 nuget)将符号包推送到我的符号文件夹时,VS 无法使用它。当我尝试进入我的 nuget 包时,VS 尝试找到 PDB,我可以看到它在我的符号文件夹中查找,但找不到 PDB,这是有道理的,因为它包含在 nuget 符号包中。

谁能解释我缺少什么?

debug-symbols symbol-server visual-studio nuget

3
推荐指数
1
解决办法
4419
查看次数