标签: project.json

"如果从deploy文件夹运行,则库''hostpolicy.dll'必需",但emitEntryPoint为true

我使用默认的ASP.NET核心Web应用程序(.NET Framework)模板创建了一个Web API项目,然后使用VS发布到本地文件夹.

现在,如果我dotnet application.exe在控制台中调用,则会收到以下错误:

遇到致命错误.找不到执行应用程序所需的库'hostpolicy.dll'

我在github上找到了这个答案和这个问题,实际问题是缺少emitEntryPoint属性.一切都很好,除了我的project.json已经有了"emitEntryPoint": true

还有什么可以导致这个错误?

.net-core project.json asp.net-core dotnet-cli

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

ASP.NET 5中的设计时T4模板(VS 2015)

我似乎无法在ASP.NET 5(vNext)项目中找到在VS 2015 RTM中制作T4模板的方法.

我甚至为Visual Studio 2015扩展安装了T4工具箱,但tt模板没有转换.

该属性Custom Tool不会出现在tt文件属性中,也不能找到" 运行自定义工具 "命令.

更新

我想要T4模板的原因是config.json文件的介绍和可插拔配置系统,这是一个很棒的东西,但是没有强类型设置属性的代价.
我读过这篇文章解释了如何实现这一点,但仍然没有一代人.由于我有一个非常复杂的配置结构,我想到制作一个生成AppSettings文件的T4模板.对此的任何想法显然也是受欢迎的.

t4 asp.net-core-mvc visual-studio-2015 project.json asp.net-core

4
推荐指数
1
解决办法
2658
查看次数

哪些版本的Windows Server与.NET Core Runtime RID匹配

我将以下运行时定位到我的project.json文件中的.NET Core Web应用程序:

"runtimes": {
  "win10-x64": { },
  "win8-x64": { },
  "win7-x64": { }
}
Run Code Online (Sandbox Code Playgroud)

上面的运行时RID对应哪个版本的Windows Server?官方文档没有列出它们.特别是,应该使用哪个RID来定位:

  • Windows Server 2008
  • Windows Server 2008 R2
  • Windows Server 2012
  • Windows Server 2012 R2
  • Windows Server 2016

.net-core project.json asp.net-core

4
推荐指数
1
解决办法
1143
查看次数

新的.NET"project.json"项目,将预先构建的本机.dll复制到输出目录

我希望将我的项目转换为使用project.json格式,但仍然使用.NET CLR,直到第三方依赖项添加对CoreCLR的支持.

话虽如此,我的一些NuGet依赖文件在"content"目录中需要输出到正在运行的应用程序的bin目录中.

由于project.json目前不支持NuGet内容,我手动将文件添加到我的项目目录中.

自定义文件

但是,当我运行应用程序时,它仍然无法找到这些本机程序集.如果我手动添加这些程序集.dnx\runtimes\dnx-clr-win-x86.1.0.0-rc1-final\bin,我的应用程序运行正常,所以只是这些文件的问题以某种方式进入应用程序PATH.

那么,我该怎么做?在MSBuild中,有"复制到输出目录"="复制如果更新".

.net-core project.json asp.net-core

3
推荐指数
2
解决办法
3433
查看次数

使用.NetCore RC2自动化Nuget包推送

我目前正在开发一个.NET Core库,我将在另一个项目中用作NuGet包.

我已经能够使用项目目录中的"dotnet pack"命令成功打包项目,并将该程序包上传到MyGet.

我更喜欢使用"nuget push"命令自动执行推送NuGet包的过程.

我的问题是project.json文件中定义的"scripts"属性似乎不在包或构建上执行.我预计这些脚本会在相应的事件发生时执行,但它们似乎没有任何效果,因为我在构建时没有看到任何输出到控制台,无论是否有详细标记.

我知道MyGet能够基于Git存储库更新包源,但我想了解当前使用project.json执行脚本是否存在一些问题.理想情况下,我想在pack成功执行后使用nuget push命令.

这是我的project.json文件:

{
  "version": "0.0.1",
  "scripts": {
    "postbuild": [ "echo build" ],
    "prebuild": "echo build",
    "postpack": "echo build",
    "postpublish": "echo build",
    "postrestore": "echo build",
    "prepack": "echo build",
    "prepare": "echo build",
    "prepublish": "echo build",
    "prerestore": "echo build"
  },

  "dependencies": {
    "NETStandard.Library": "1.5.0-rc2-24027"
  },

  "frameworks": {
    "netstandard1.5": {
    }
  },
  "buildOptions": {
    "allowUnsafe": false,
    "debugType": "portable",
    "emitEntryPoint": false,
    "xmlDoc": false
  },
  "commands": { },
  "packOptions": {
    "files": {
      "include": "%project:Directory%/bin/release/*.nupkg"
    }
  },
  "configurations": { …
Run Code Online (Sandbox Code Playgroud)

scripting nuget portable-class-library project.json asp.net-core

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

在运行时读取project.json版本号

如何project.json在运行时读取版本号?即下面的配置中的"1.0.0-1234":

{
  "title": "MyProject.Api",
  "webroot": "wwwroot",
  "version": "1.0.0-1234",
  "dependencies": {
     ...
  },
  ...
}
Run Code Online (Sandbox Code Playgroud)

project.json asp.net-core asp.net-core-1.0

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

得到奇怪的编译错误 - .Net Core

我不知道我最近做了什么.但这一直持续到一周前.当我试图编译项目时突然间.它给了我 8463编译错误.下面给出了一些.

在此输入图像描述

如果你们中的任何人以前遇到过这个问题,请帮帮我.我正在使用.net核心应用程序1.0.0.但是我的电脑上也安装了1.0.1.

当我尝试使用dotnet buildcli 编译时,我收到以下错误消息.

无法找到与其中一个目标运行时兼容的框架'.NETCoreApp,Version = v1.0'的运行时目标:'win7-x64'.可能的原因:

  1. 项目尚未恢复或恢复失败 - 运行 dotnet restore
  2. 该项目未在"运行时"部分列出"win7-x64"之一.
  3. 您可能正在尝试发布不受支持的库.使用dotnet pack分发库.

我跑dotnet restore了.我不确定第二点.因为它之前在同一台机器上工作.

此外,我没有runtimes提到的任何部分project.json

更新:

如其他帖子所述.我补充道

  "runtimes": {
        "win7-x64": { }
      }
Run Code Online (Sandbox Code Playgroud)

但没有奏效.

Project.Json:

{
  "userSecretsId": "aspnet-IdentityServer-db76f1cf-15a8-4dc0-8200-221a224b454c",
  "dependencies": {
    "Microsoft.NETCore.App": {
      "type": "platform",
      "version": "1.0.0"
    },
    "Microsoft.AspNetCore.Server.IISIntegration": "1.0.0",
    "Microsoft.AspNetCore.Server.Kestrel": "1.0.0",
    "Microsoft.AspNetCore.Mvc": "1.0.0",
    "Microsoft.AspNetCore.Diagnostics": "1.0.0",
    "Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore": "1.0.0",
    "Microsoft.AspNetCore.Identity.EntityFrameworkCore": "1.0.0",
    "Microsoft.AspNetCore.StaticFiles": "1.0.0",
    "Microsoft.AspNetCore.Mvc.TagHelpers": "1.0.0",
    "Microsoft.Extensions.Configuration.EnvironmentVariables": "1.0.0",
    "Microsoft.Extensions.Configuration.Json": "1.0.0",
    "Microsoft.Extensions.DependencyInjection": "1.0.0",
    "Microsoft.Extensions.Logging": "1.0.0",
    "Microsoft.Extensions.Logging.Console": "1.0.0",
    "Microsoft.Extensions.Logging.Debug": "1.0.0", …
Run Code Online (Sandbox Code Playgroud)

.net-core project.json asp.net-core-1.0

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

如何通过MSBuild获取.NET Core应用程序的输出路径?

我有一个.NET Core项目,根据我的project.json文件定位.NET Framework;

"frameworks": {
    "net461": {
      "dependencies": { }
    }
}
Run Code Online (Sandbox Code Playgroud)

我试图找到一种方法将一些(本机)依赖项复制到我的输出构建目录,但我很难找到正确的方法来做到这一点.

当我构建这个项目时,我的输出就转到了bin\Debug\net461\win7-x64.我想知道是否有一种方法来检索输出路径?$(TargetDir)给我我的bin\目录,但有一个变量要检索bin\Debug\%FRAMEWORK%\%RUNTIME%

我也应该在MSBuild上使用project.json脚本吗?

编辑 - 2017年5月请在下面看到我的答案.简而言之,这从未得到过支持project.json,但鉴于project.jsonVS2017 的弃用,这个问题已不再适用.

.net msbuild .net-core project.json asp.net-core

2
推荐指数
1
解决办法
2258
查看次数

Dev与dotnet核心的依赖关系

我的库(NetMQ)依赖于JetBrains.Annotations,但是我希望它只是一个dev依赖项,并且不希望它出现在使用"dotnet pack"生成的nuspec文件中.

如何使用project.json将依赖项设置为dev依赖项?

.net-core project.json

2
推荐指数
1
解决办法
374
查看次数

是否可以使用.NET Framework与.NET Framework

我一直在试图创建一个完全是.NET Core的新项目,这个项目可以在不同的环境中运行,但我需要添加许多以前在严格的.NET Framework中工作的项目作为参考(4.5 ).

到目前为止,我能够做的是将.NET 461框架添加到项目json中,

"frameworks": {
    "netcoreapp1.0": {
      "imports": [
        "dotnet5.6",
        "portable-net45+win8"
      ],
      "dependencies": {
        "Microsoft.NETCore.App": {
          "version": "1.0.1",
          "type": "platform"
        },
        "Niloosoft.Hunter.ServicesDataAPI": {
          "target": "project"
        }
      }
    },
    "net461": { }
  }
Run Code Online (Sandbox Code Playgroud)

它成功恢复了包,我甚至设法添加了.NET框架引用,但我似乎无法正确使用它们而且我得到了这个错误.在此输入图像描述

所以,我的问题是,目前是否可以使用我的.NET Framework参考,而无需将预期的框架(因为我需要互操作性)与以下内容交换:

    > #if NET45 
//specific code for .NET 4.5
    > #
Run Code Online (Sandbox Code Playgroud)

需要注意的是,.NETCoreApp不支持我的项目,因此,我确实需要.NET Framework,我只是需要知道我正在尝试做的是否可行.

c# project.json asp.net-core

2
推荐指数
1
解决办法
709
查看次数