- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
更新:这是指围绕project.json构建的一组过时的.net核心工具,此问题及其答案在当前的.net核心工具集中(如Visual Studio 2017+)的实用程序非常有限。
使用Visual Studio 2015更新3,我试图找出当前存在的限制,这些限制会阻止我执行以下操作:
solutiondir\
将包含一个src\
目录,该目录包含一个projectdir\
(Solutiondir\src\projectdir
)。 Projectdir
将包含一个HelloWorldPCL类库,该类库是作为classic .net PCL
项目构建的,并且还包含其他框架目标。 Projectdir
中为.net 4.6
项目编译相同的HelloWorldPCL。 Projectdir
中为.net core
编译相同的HelloWorldPCL。 #if DOTNET
和#if NET46
和#if PCL
条件定义,以处理在各种框架/环境中不可用的事情。 Projectdir
包含
.net core
工件(例如
project.json
或
HelloWorldCore.xproj
)时,如果我尝试在同一文件夹中创建单独的
.csproj
和
.xproj
项目,则IDE会给我很多错误。似乎不是正确的方法。
.csproj
项目,当我在磁盘上引入
.xproj
和
project.json
时,但我们还没有将它们添加到解决方案本身中,它们只是坐在Real Project Sources旁边的磁盘上,我得到了Nuget包还原错误,这是只能通过删除
project.json
文件使它消失,因此很明显,不可能在项目目录中有
.csproj
,也没有
project.json
文件夹。必须在
project.json
模式(
.net core
项目样式)和
.csproj
模式(经典C#项目样式)之间进行选择。
.csproj
和
project.json
的文件夹,然后尝试构建
csproj
和
project.json
项目而又不会干扰它们的可能性:
.net 4.6
程序集, native
.net core
类库以及可能针对任何特定目标的PCL程序集为目标。 .net个人资料?
.net core
类库dll吗?”。也许如果代码可以从一个来源一次构建一次,而没有任何条件定义,并且在功能上没有任何差异,并且如果最低公分母PCL“netstandard”配置文件方法所施加的限制已足够,则可以。但是,在不可能的情况下呢?
.cs
源文件针对多个.net配置文件nerdvana的目标,我们是否必须进行复杂的构建过程,在其中复制项目文件或移动源代码?还是我忽略了替代解决方案?
project.json
而不是
.csproj
生成解决方案时,它会阻止您直接在解决方案中添加对类库的引用。但是,由Jon指定的以下解决方案表明您应该构建项目,然后使用
dotnet pack
构建nuget包。如果您在此处查看经过修改的演示,则
pack.cmd文件可以包含我打包nuget包时使用的步骤,然后将其本地“发布”到文件(本地目录)nuget供我个人使用。
最佳答案
我会尝试使用纯project.json
方法。例如,这是一个project.json
文件,它将构建一个支持netstandard1.0
,PCL配置文件328和.NET 4.6的单个程序包-每个配置都定义了自己的符号,因此您可以使用条件代码。
{
"version": "1.0.0",
"frameworks": {
"net46": {
"buildOptions": {
"define": [ "NET46" ]
}
},
"netstandard1.0": {
"buildOptions": {
"define": [ "CORE" ]
},
"dependencies": {
"NETStandard.Library": "1.6.0"
}
},
".NETPortable,Version=v4.0,Profile=Profile328": {
"buildOptions": {
"define": [ "PCL" ]
},
"frameworkAssemblies": {
"mscorlib": "",
"System": "",
}
}
}
}
dotnet pack
创建nuget包。 (在添加所有其他元数据等之后)
关于c# - 创建具有相同C#源构建的完整.net,PCL和dotnet核心程序集的单个源项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38206209/
我在 Ubuntu v16.04 上安装了 dotent core。问题是当我尝试使用 dotnet user-secrets 时它说:未找到匹配命令“dotnet-user-secrets”的可执行
好。这似乎是我看到答案时会面对的问题类型。 所以... 为什么要打扰 dotnet build做之前dotnet publish ? build自动执行 restore .凉爽的。 好像publish
我正在尝试创建一个 dotnet 新模板的 NuGet 包。我创建了一个 nuspec 文件来设置包的详细信息,它位于我的内容文件夹旁边,其中包含我想要打包的所有内容: My.
我正在尝试使用'dotnet dev-certs'工具导出https证书以包含在Docker镜像中。现在我正在使用: dotnet dev-certs https -v -ep $(HOME)\.as
我昨天从 .Net 5 更新到 .Net 6,现在我的项目无法从 dotnet run 开始。然后我得到错误: Building... warn: Microsoft.AspNetCore.Serve
我使用 dockerfile 成功构建,但是当我尝试从构建镜像运行新容器时,出现以下错误: 我必须为解决方案做什么? Error : /bin/sh: 1: [dotnet,: not found d
我有一个引用其他几个项目的 .NET Core 3 项目。我的主根项目有一个 Release-X构建配置,但其他项目只有 Release配置,无匹配 Release-X配置。 当我尝试使用这个发布我的
我的 dotnet new 列表中有许多“孤立的”dotnet 模板。 它们不再存在于我的驱动器上,因为我删除了文件夹,所以我不能 dotnet new --uninstall。 有没有办法从列表中删
编辑: 以下是最初与标题一起发布的前一个问题 xunit show ITestOutputHelper output when run in the console 经过调查(见评论),这个问题仍然非
来自 docs.microsoft.com: dotnet build - Builds a project and all of its dependencies. dotnet run - Run
我有一个 Dotnet 核心项目,我试图在其中安装 Microsoft.EntityFrameworkCore.Tools.Dotnet 以使用迁移。我在 Mac 上,所以我使用 MySql.Data
我已经在这个问题上徘徊了很长一段时间,但仍然没有找到答案,也没有其他帖子处理同样的问题。 我已经发布了一个 .net 5.0 网站,如果我在同一个发布的文件夹中运行 dotnet,一切都会正常运行。在
我正在尝试使用 CLI dotnet 命令复制以下 Azure 管道: - task: DotNetCoreCLI@2 inputs: command: publish publi
假设这个文件夹结构 SampleApp global.json Src Web pro
我正在使用dotnet watch命令来运行asp.net core项目。但是,默认情况下,它选择 Production 作为环境。 我已经尝试了这两个选项: 1) > dotnet watch AS
我正在尝试在 Linux 主机上的官方 Microsoft/dotnet 镜像之外的容器中构建一个 dotnet 项目,因为该镜像与 Windows 和 Linux 都兼容。我只有 linux 主机,
我不是 Linux 用户,所以这可能是一个简单的修复,但我已经尝试了以下方法: 首先我使用命令 curl -sSL https://dot.net/v1/dotnet-install.sh | bas
我在发布配置文件中遇到了 Visual Studio 和 EF 迁移的奇怪情况。鉴于: Visual Studio 2019 v16.4 .NET 核心项目。目标 .NET Core 3.1 EF 3
我已经安装了 .NET Core 1.0.1 以与 VS 2015 Update 3 一起使用,并且以管理员身份运行(在 Windows 8.1 x64 上)。 如果我创建任何 .NET Core 项
我正在尝试为dotnet core 2创建开发Dockerfile。到目前为止,我的工作是: FROM microsoft/aspnetcore-build:2.0 VOLUME /app WORKD
我是一名优秀的程序员,十分优秀!