我在Arch VScode上使用.NET Core 2.0,并尝试使EF工具正常工作,但我不断收到该错误“找不到命令dotnet ef”。我只是到处看,所有建议都没有。因此,如果可以的话,请您提供帮助。
运行“ dotnet ef”的结果
[wasiim@wasiim-PC WebApiServerApp]$ dotnet ef --help
Cannot find command 'dotnet ef', please run the following command to install
dotnet tool install --global dotnet-ef
[wasiim@wasiim-PC WebApiServerApp]$ dotnet tool list -g
Package Id Version Commands
---------------------------------------------------
dotnet-dev-certs 2.2.0 dotnet-dev-certs
dotnet-ef 2.2.3 dotnet-ef
[wasiim@wasiim-PC WebApiServerApp]$
Run Code Online (Sandbox Code Playgroud)
这是dotnet --info结果,如果有帮助的话
[wasiim@wasiim-PC WebApiServerApp]$ dotnet --info
.NET Core SDK (reflecting any global.json):
Version: 2.2.105
Commit: 7cecb35b92
Runtime Environment:
OS Name: arch
OS Version:
OS Platform: Linux
RID: arch-x64
Base Path: /opt/dotnet/sdk/2.2.105/ …Run Code Online (Sandbox Code Playgroud) 在Visual Studio csproj中,要编译的文件如下所示:
<ItemGroup>
<Compile Include="C\Something.cs">
<Compile Include="B\SomethingElse.cs">
<Compile Include="A\YetSomethingElse.cs">
<\ItemGroup>
Run Code Online (Sandbox Code Playgroud)
在我看来,订单是随机的(至少我看不到订购原则).
它发生了几次,在修复合并冲突期间,我错误地添加了两次文件(因为有很多文件,并且合并冲突行的文件已经在列表中的另一个位置).如果有一种方法可以Compile Include按字母顺序对d文件进行排序,这将很容易避免.
这是否可能(或者我自己必须编写脚本)?是否有任何副作用我必须注意?
我已经将ASP.NET Core项目升级到VS2017和新的csproj,并且有这个选项:
<PropertyGroup>
<ServerGarbageCollection>true</ServerGarbageCollection>
</PropertyGroup>
Run Code Online (Sandbox Code Playgroud)
什么是服务器垃圾收集?没有适当的文档,只是一个迁移指南,假设您已经知道它是什么.
(除非有正式的文件,在这种情况下,请告诉我.)
简介:遗憾的是,很多基础技术的文档中没有详细信息.然而,@ PanagiotisKanavos的链接在这里有关于"服务器gc"的重要信息.
有没有办法直接编译.vbproj或.csproj项目文件,就像Visual Studio一样?
在Visual Studio中编译时,"输出"窗口显示对编译器的实际调用,通常如下所示:
vbc.exe [一堆选项] [looooong .vb文件列表]
我想以编程方式调用"某事"来获取.vbproj文件并执行Visual Studio所做的任何操作来生成这个长命令行.我知道我可以自己解析.vbproj并生成该命令行,但我宁愿保存自己所有的逆向工程和反复试验......
有没有工具可以做到这一点?我宁愿能够在没有安装Visual Studio的情况下在机器上完成它.但是,如果有一种方法可以使用某些参数来调用Visual Studio,那么那也没关系.
我简要地看了一下MSBuild,看起来它的工作原理是我必须特别制作的.proj项目文件,并且我每次将文件添加到.vbproj文件时都需要更新.(我确实简要地看了一下,所以我很可能错过了一些重要的事情)
任何帮助将不胜感激
以前,AssemblyInfo.csVisual Studio会自动处理文件以包含程序集范围的属性,如AssemblyVersion,AssemblyName等.
在.NET Core和ASP.NET Core中,project.json负责保存大部分信息.
所以问题是:我是否需要使用该属性标记我的程序集?如果我不用该属性标记汇编,我可以获得什么陷阱?
在Visual Studio 2017 RC中是否有像msbuild中的AfterBuild Target和.NET Core?
我尝试将以下剪切添加到.csproj文件中,但在构建期间不会执行此操作(与VS2015相反,它可以正常工作).
<Target Name="AfterBuild">
<Message Importance="High" Text="This is a test" />
</Target>
Run Code Online (Sandbox Code Playgroud)
另一个有趣的发现:我认为AfterBuild目标可能已被删除 - 运行msbuild <project.csproj> /t:AfterBuild似乎并未调用添加的目标.如果我将目标重命名为"测试"一个调用它就msbuild <project.csproj> /t:Test可以正常工作.
另外,是否有关于Visual Studio 2017 RC附带的msbuild版本(以及可能的.NET Core构建脚本)的任何文档?
我在VS2015有两个项目
当我用VS2017打开项目1时,它很好地迁移到新的csproj格式.
Project 2适用于VS2017,但我喜欢将此csproj转换/迁移/更新为新的项目文件格式,以便受益于新的csproj功能(多目标,无大文件列表,可读csproj,csproj中的NuSpec信息等)
我怎么能这样做?我在VS2017中找不到一个选项.
使用:VS2017 RTM
我正在尝试构建一个多目标.NET 4.5.1和.NET Standard 1.3的类库.根据文档,我应该能够这样做:
<PropertyGroup>
<TargetFrameworks>net451;netstandard1.3</TargetFrameworks>
</PropertyGroup>
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试构建时,我得到了这些奇怪的错误:
无法从TargetFramework ='net451'推断出TargetFrameworkIdentifier和/或TargetFrameworkVersion.必须明确指定它们.
找不到MSB3645 .NET Framework v3.5 Service Pack 1.要以".NETFramework,Version = v1.3"为目标,必须安装.NET Framework v3.5 Service Pack 1或更高版本.
MSB3644找不到 框架".NETFramework,Version = v1.3"的引用程序集.要解决此问题,请为此框架版本安装SDK或Targeting Pack,或者将应用程序重新定位到已安装SDK或Targeting Pack的框架版本.请注意,程序集将从全局程序集缓存(GAC)中解析,并将用于代替引用程序集.因此,您的程序集可能无法正确定位到您想要的框架.
如果我手动指定目标框架标识符,它构建正常:
<PropertyGroup>
<TargetFrameworks>net451;netstandard1.3</TargetFrameworks>
</PropertyGroup>
<PropertyGroup Condition="'$(TargetFramework)' == 'net451'">
<TargetFrameworkIdentifier>.NETFramework</TargetFrameworkIdentifier>
</PropertyGroup>
<PropertyGroup Condition="'$(TargetFramework)' == 'netstandard1.3'">
<TargetFrameworkIdentifier>.NETStandard</TargetFrameworkIdentifier>
</PropertyGroup>
Run Code Online (Sandbox Code Playgroud)
我正在使用Visual Studio 2017社区.我在这里做错了吗?
我想bin\Debug在构建项目后从主目录复制一个xml文件,但我的解决方案不起作用.我编辑了.csproj文件并添加了:
<Target Name="AfterBuild">
<Copy SourceFiles="Controllers.xml" DestinationFolder="\bin\Debug" ContinueOnError="true" />
</Target>
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?构建成功.
csproj ×10
.net-core ×4
.net ×3
asp.net-core ×3
c# ×3
msbuild ×2
assemblyinfo ×1
build ×1
compilation ×1
upgrade ×1
vb.net ×1
xml ×1