我正在为项目模板实现一个向导,我想获取用户在“新建项目”窗口中选择的项目/解决方案路径。我知道有一些参数,比如 $saferootprojectname$ 来获取项目的名称,但不知道如何获取位置路径
问候
我试图找出在我更新数据库时导致验证异常的具体验证错误是什么。我有理由确信罪魁祸首是SaveChanges(). 我认为我的 3 个类中的一个或多个中的一个或多个属性有问题。解决异常的唯一方法是发现验证错误。
尽管我对几种不同的语言有经验,但在这种调试方式方面,我还是个新手。我在指示的地方设置了一个断点,所以我可以看到debug.writeline结果,但有两个问题:它永远不会在断点处停止,而且我在输出窗口下拉列表中没有看到“调试”。
我不明白什么?有没有更好的方法来捕获验证错误?
这是 configuration.cs 文件中的完整代码。
namespace AlbumSong2.Migrations
{
using System;
using System.Data.Entity;
using System.Data.Entity.Migrations;
using System.Data.Entity.Validation;
using System.Diagnostics;
using System.Linq;
internal sealed class Configuration : DbMigrationsConfiguration<AlbumSong2.Model.AlbumDbContext>
{
public Configuration()
{
AutomaticMigrationsEnabled = false;
//if (System.Diagnostics.Debugger.IsAttached == false)
// System.Diagnostics.Debugger.Launch();
}
protected override void Seed(AlbumSong2.Model.AlbumDbContext context)
{
// This method will be called after migrating to the latest version.
// You can use the DbSet<T>.AddOrUpdate() helper extension method
// to avoid creating duplicate …Run Code Online (Sandbox Code Playgroud) build.cake:
var target = Argument("target", "Default");
Task("Default")
.Does(() => {
var client = new RestSharp.RestClient("www.test.com");
Information("Hello World!");
});
RunTarget(target);
Run Code Online (Sandbox Code Playgroud)
packages.config:
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Cake" version="0.21.1" />
<package id="RestSharp" version="105.2.3" />
</packages>
Run Code Online (Sandbox Code Playgroud)
收到错误:
错误CS0246:类型或命名空间名称'RestSharp'无法识别(您是否缺少using指令或程序集引用?)
试图从 dll 生成 Nuget 包。我们的项目之一是生成 ConfigurationCore.dll 和下面给出的项目程序集的引用
使用下面的 ConfigurationCore.nuspec 生成 Nuget 包
<?xml version="1.0"?>
<package >
<metadata>
<id>ConfigurationCore</id>
<version>1.2.0</version>
<title>Configuration Core</title>
<authors>MAKK</authors>
<owners>IT Department</owners>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<description>ConfigurationCore contains core funcationality of Software</description>
<releaseNotes></releaseNotes>
<copyright>Copyright 2018</copyright>
<dependencies>
<dependency id="Newtonsoft.Json" version="10.0.3" />
</dependencies>
</metadata>
<files>
<file src="C:\Users\makk\source\repos\ConfigurationCore\bin\x86\Test\ConfigurationCore.dll" target="lib\net461" />
</files>
</package>
Run Code Online (Sandbox Code Playgroud)
尝试针对项目“NugetTest”收集包“ConfigurationCore.1.2.0”的依赖信息,目标是“.NETFramework,Version=v4.6.1” 收集依赖信息需要 1.09 秒尝试解析包“ConfigurationCore.1.2”的依赖。 0' with DependencyBehavior 'Lowest' 解析依赖信息需要 0 ms 解析安装包 'ConfigurationCore.1.2.0' …
我想添加Tags一个 nuget 包。我不想使用单独的.nuspec文件(维护),我只使用 csproj 进行打包。
我试过使用设置它,nuget pack -Properties Tags=demo但这似乎不起作用..?
我正在尝试解决一个更大的问题,以使用标签中构建的提交 ID 创建一些可追溯性?(在 VSTS 上使用Build.SourceVersion)
参考:
我一整天都在试图弄清楚 JetBrains 的 Rider 如何设置.nupkg版本和其他元数据。
我似乎无法在整个 IDE 上找到任何配置窗口来执行此操作,或者如果我必须有一个包含项目数据的特殊文件。
MyProjectName每当我使用 Rider 来“打包解决方案”或“打包选定的项目”时,.nupkg 数据始终默认为以下内容(其中是我的项目名称):
<?xml version="1.0" encoding="utf-8"?>
<package xmlns="http://schemas.microsoft.com/packaging/2013/05/nuspec.xsd">
<metadata>
<id>MyProjectName</id>
<version>1.0.0</version>
<authors>MyProjectName</authors>
<owners>MyProjectName</owners>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<description>Package Description</description>
<dependencies>
...
</dependencies>
</metadata>
</package>
Run Code Online (Sandbox Code Playgroud)
我查看了Microsoft 的 Docs for Packages和JetBrains Rider Help,但没有人给我任何必须完成的提示。
我在 Ubuntu 14.04 上使用 Rider 2017.3.1。
我们有几个项目需要包含一些静态 DLL。因此,项目文件包含如下代码:
<ItemGroup>
<Reference Include="..\_Solutions\dependencies\abc123.dll" />
<Reference Include="..\_Solutions\dependencies\def456.dll" />
<Reference Include="System.Web" />
</ItemGroup>
Run Code Online (Sandbox Code Playgroud)
预期的:
我们预计这两个dll;abc123.dll并且def456.dll会在 nupkg 文件中找到。
实际的:
然而,nupkg不包括abc123.dll也不是def456.dll文件。
我有一个.NET Standard将内置到 NuGet 包中的类库项目。我已经安装了该docfx.console软件包,以便每次构建时都可以生成文档网站。
现在,当另一个项目安装我的库的 NuGet 包时,docfx.console也会安装 NuGet 包 - 这是我不想要的。
在 Package 下的项目属性中,我选择了Generate NuGet package on build。当我构建它时,这将自动为我的库生成 NuGet 包。但是在此选项卡中,我看不到任何可以配置以排除任何包的地方。
所以为了排除这个docfx.console包,我创建了一个包含以下内容的 .nuspec 文件:
<?xml version="1.0" encoding="utf-8" ?>
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
<metadata>
<!-- Required elements-->
<id>My.Library</id>
<version>1.0.1</version>
<description>My Library's project dscription.</description>
<authors>Me</authors>
<copyright>My Copyright (c)</copyright>
<!-- Optional elements -->
<dependencies>
<dependency id="docfx.console" version="2.36.1" exclude="build" />
</dependencies>
<!-- ... -->
</metadata>
<!-- Optional 'files' node -->
</package>
Run Code Online (Sandbox Code Playgroud)
但它不起作用。docfx.console在构建 NuGet 包时如何更正它以排除包?
或者,有没有其他方法可以 …
我想从我的私人 nuget 提要下载所有版本的所有软件包。就是这样。我在使用 powershell、bash、包管理器时没有任何问题。
我不能使用占位符项目 - 引用所有包并复制我的缓存,因为我需要所有版本。
任何的想法?
我正在与私人 nuget-feed 合作。饲料有点坏了,但我没有办法修理它。所以我必须走这条路......
Nuget.org 现在能够允许 Nuget 包的作者对他们的包进行签名,以便包的用户可以验证包没有被篡改,并且它内置了对制作包的作者的某种身份验证。这是宣布这一点的博客。
听起来任何新东西都需要对包进行签名,但不会对过去的包进行签名。这样对吗?我怎么知道一个包裹已经被签名?
我使用的是高于 15.8.5 和 Nuget Package Manager 4.6.0 的 Visual Studio 2017
nuget-package ×10
nuget ×7
c# ×6
.net ×1
azure-devops ×1
cakebuild ×1
database ×1
msbuild ×1
rider ×1
validation ×1
xml ×1