问题标签 [dotnet-sdk]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
.net - 使用 MSBuild.exe 时等效于 dotnet build --version-suffix
使用dotnet build
.NET SDK 中的工具,您可以通过--version-suffix
,例如制作带有rc1
等后缀的预发布包。
我必须MSBuild.exe
直接使用才能解决目标问题net35
,并想知道等效的命令行参数是什么。
msbuild - 如何在 BuiltProjectOutputGroup 中包含一个项目
我有一个自定义项目系统,它使用标准的 net sdk 目标。在构建过程中,我生成了一个额外的 zip 文件。我希望这个额外的文件包含在输出组中,这样当我查询我的项目输出组(来自 vs)时,它就会显示出来。
我的项目文件如下所示:
请注意,我使用的是“sdk”属性,这是 msbuild 的一个相当新的功能。
PackageReference
您看到的是一个 nuget 包,它导入了一个 .props 和一个 .targets ,其中包含augment
一些自定义构建任务。这些是生成 zip 文件的文件。
我已经深入研究了net sdk
目标并发现了这一点:
这似乎是 VS 在需要有关输出组的信息时调用的目标。
问题是,我不确定如何将我的项目包含在其中一个输出组中,因为如果我只是将项目添加到项目组中,在我自己的目标中 - 我的目标此时无关紧要,因为它们是不包含在此依赖链中。
我也无法覆盖任何目标,因为当我使用该sdk
属性时,看起来 sdk 目标总是最后导入,覆盖我声明的任何内容。
非常感谢任何指导。
linux - 在 ubuntu - nuget 后备文件夹中删除 dotnet-sdk-2.0.0
我已经在 Ubuntu 16.04 上安装了 dotnet-sdk-2.0.0,但我想删除它,并且在我的硬盘上留下了一个包含 1Gb 数据的文件夹(/usr/share/dotnet/sdk/NuGetFallbackFolder)。
我可以使用管理员权限从硬盘中删除它吗?它是安全的还是会在操作系统中崩溃?删除 dotnet-sdk 的正确程序是什么?(我使用了 apt purge)。
msbuild - dotnet 核心控制台应用程序中不必要的 dll?
我只是在尝试构建一个示例dotnet-core 2.0
控制台应用程序,该应用程序应该作为执行文件发布。这需要我RuntimeIdentifier
在csproj
文件中添加一个。发布我的示例应用程序后win-x64
,我得到一个包含大约 200 个 dll 和我的可执行文件的输出目录。我有太多的感觉 - 只是打印一个简单Hello World
的控制台。
有没有办法减少dll的数量?在这个名为减少包依赖性的旧文档(现在肯定是过时的文档)中,为库提出了一种手动方法。
有没有办法减少依赖dotnet-core 2.0
?或者这毕竟不是一个问题,我不应该关心?
为了完整起见,这是我的示例项目定义:
.net - 是否可以使用 .NET Core 2 SDK 工具来构建面向 .NET Framework 2.0 的类库?
这似乎是很久以前的事了,但我仍然需要开发一个面向 .NET Framework 2.0 的类库。我们的构建脚本需要 Visual Studio 2010 并调用 devenv.exe,将路径传递给我们的解决方案文件。
我们有一个新要求,即生成一个面向 .NET Core 2.0 的类库(长期目标是面向 .NET Standard 版本)。随着 .NET 的重新设计,我们不再需要 IDE,而是需要 .NET Core 2 SDK 工具。
我注意到dotnet build命令接受一个--framework
参数。Target Frameworks页面显示受支持的net20
TFM。作为让我们看看会发生什么努力,我针对 net20 并遇到了以下错误消息:
C:\cli\sdk\2.0.0\Microsoft.Common.CurrentVersion.targets(1122,5):错误 MSB3644:未找到框架“.NETFramework,Version=v2.0”的参考程序集。要解决此问题,请为此框架版本安装 SDK 或 Targeting Pack,或者将您的应用程序重新定位到已安装 SDK 或 Targeting Pack 的框架版本。请注意,程序集将从全局程序集缓存 (GAC) 中解析,并将用于代替引用程序集。因此,您的程序集可能无法正确定位于您想要的框架。[C:\path\to\my\project.csproj]
在 Visual Studio 2017 中我的项目属性的 Application 选项卡中,Target Framework 下拉列表有一个Install other frameworks...链接。列出的最早的 .NET Framework 版本是 3.5 SP1,并且没有Dev Pack参考。我正在尝试做的事情可能吗?如果是这样,我在哪里可以找到 .NET Framework 2.0 目标包?
google-app-engine - 部署到 Google Cloud AppEngine (Flex) 的问题
我尝试将 .NET 应用程序从 Visual Studio 部署到 Google Cloud App Engine (flex) 并反复收到以下错误:
“未找到应用程序依赖项清单 (.deps.json) 中指定的程序集:包:'Microsoft.AspNetCore.Antiforgery',版本:'2.0.3' 路径:'lib/netstandard2.0/Microsoft.AspNetCore.Antiforgery .dll'
该程序集应位于本地运行时存储中,因为应用程序是使用以下目标清单文件发布的:aspnetcore-store-2.0.8.xml"
我已经下载了最新的 .NET Core SDK 和最新的运行时文件。我可以在此路径中看到防伪 dll 文件:
C:\Program Files\dotnet\store\x64\netcoreapp2.0\microsoft.aspnetcore.antiforgery\2.0.3\lib\netstandard2.0\Microsoft.AspNetCore.Antiforgery.dll
当我尝试用谷歌搜索这个问题时,我大多看到人们提到使用 Microsoft Azure 而不是 Google Cloud,所以我不确定这些解决方案是否适合我?通常,这些解决方案指的是不是相同版本号的“运行时”?我对此比较陌生,所以我会很感激我能得到的任何帮助!
哦,还有,在我的 .csproj 中使用以下代码行:
<PublishWithAspNetCoreTargetManifest>false</PublishWithAspNetCoreTargetManifest>
修复错误,以便我能够部署到云,但我读到这不是一个好的解决方案,所以我想尝试修复它不使用那行代码。
此外,当我尝试安装 google cloud SDK 时,出现以下两个错误: 1)文件“C:\Users\Maria\AppData\Local\Programs\Python\Python36\lib\re.py”,第 142 行,在课堂上RegexFlag(enum.IntFlag):AttributeError:模块'enum'没有属性'IntFlag'
2) 文件“C:\Users\Maria\AppData\Local\Programs\Python\Python36\lib\os.py”,第 730 行,在 check_str 中引发 TypeError("str expected, not %s" % type(value).名称)类型错误:预期为 str,而不是字节
.net-core - 我应该签入哪些生成的资产以在 dotnet 中锁定我的包版本?
在 .NET Core 项目中,在每个项目的文件夹中dotnet restore
生成一堆文件。/obj
因此,使用具有以下项目文件的解决方案(例如,库的目标是哪里,控制台FooLibrary
应用程序的目标是 eg ),netstandard2.0
BarApp
netcoreapp2.0
在解决方案根目录中运行dotnet restore
会生成一堆文件和文件夹:
为了锁定我的依赖项并确保我所有依赖项中的包版本在团队成员的机器和构建服务器之间保持一致,我想应该签入其中的一些文件。
哪个?
azure - 使用 DotNet SDK 创建 LogicApp 和 API 连接 ARM 模板
我使用Dot.Net SDK创建了Azure Logic App。Logic App 创建成功,但对于 Trigger 和 Action 我想使用现有的 Connector。我手动创建了连接到 Azur Portal 的连接器。我正在传递该连接器的 APIConnection 或 Id 以请求 json,但它不会连接到该连接器。我的意思是 Logic App 是在没有任何连接器的情况下创建的。
下面是我的请求 Json。
这是来自 Azur 门户的屏幕截图。在这里您可以看到 Logic App 已成功创建,但没有连接器。
请建议,
谢谢
c# - 如何向 C# Web 应用程序添加 Angular 支持?
我有一个现有的 ASP.NET Web 应用程序,我正在尝试向其中添加 Angular 视图。我找到了如何开始一个新项目的示例,但没有找到如何将其添加到现有项目的示例。
笔记
- .NetSDK 2.1
- 视觉工作室 2017
- 一切都是用 C# 编写的(并且可以工作),我正在尝试添加一个 Angular 视图作为概念证明
csproj - ReferencePath 与新的 .NET SDK?
我试图ReferencePath
在我的 .csproj 文件中指定一个使用新格式的自定义。
这是它的样子:
参考以下:
C:\...\binaries
包含 MyDll.dll
但是,在构建期间我仍然得到
警告 MSB3245:无法解析此引用。找不到程序集“MyDll”。检查以确保该程序集存在于磁盘上。如果您的代码需要此引用,您可能会遇到编译错误。
我正在尝试切换到ReferencePath
from HintPath
s,因为它们维护起来很麻烦。