小编Ser*_*kov的帖子

如何在.NET Core上构建多目标解决方案?

我有多目标csproj文件的解决方案:

<PropertyGroup>
  <TargetFrameworks>net45;netstandard1.6</TargetFrameworks>
</PropertyGroup>
Run Code Online (Sandbox Code Playgroud)

要么

<PropertyGroup>
  <TargetFrameworks>net45;netcoreapp1.1</TargetFrameworks>
</PropertyGroup>
Run Code Online (Sandbox Code Playgroud)

我正在尝试在Linux上构建此解决方案的.NET Core部分,但无法管理它.如果我跑

dotnet build
Run Code Online (Sandbox Code Playgroud)

它构建所有目标:netcoreapp1.1,netstandard1.6并且net45在net45上失败,因为.NET Core不在Linux上提供.NET 4.5平台.我试图通过将mono指定为构建框架来解决此问题,但解决方案很复杂,而且并非所有.NET 4.5都支持单声道.但是,这可以帮助其他人避免can't find .NETFramework v4.5运行:

FrameworkPathOverride=/usr/lib/mono/4.5/ dotnet restore
FrameworkPathOverride=/usr/lib/mono/4.5/ dotnet build
Run Code Online (Sandbox Code Playgroud)

当我跑步时,dotnet build /p:TargetFramework=netcoreapp1.1我得到了很多错误,我认为因为netstandard1.6没有构建项目.

如果我通过

  dotnet build /p:TargetFrameworks=netcoreapp1.1\;netstandard1.6
Run Code Online (Sandbox Code Playgroud)

我明白了

MSBUILD : error MSB1006: Property is not valid.
Switch: netstandard1.6
Run Code Online (Sandbox Code Playgroud)

如何从命令行同时传递netcoreapp1.1netstandard1.6定位框架到msbuild?

我知道我可以添加额外的属性并根据它进行条件编译,但我不想更改csproj以使其解决方法.

linux msbuild csproj .net-core

7
推荐指数
1
解决办法
1386
查看次数

输出System.Diagnostics.Debug到Console

我想从System.Diagnostigs.DebugNET Core 获得输出.任何方式都值得赞赏,但最好的我希望Debug在控制台中看到输出.我尝试使用这样的代码:

TextWriterTraceListener myWriter = new 
   TextWriterTraceListener(System.Console.Out);
Debug.Listeners.Add(myWriter);
Run Code Online (Sandbox Code Playgroud)

但收到错误:

'Debug' does not contain a definition for 'Listeners'
Run Code Online (Sandbox Code Playgroud)

我错过了什么?是否可以System.Diagnostics.Debug在.NET Core中使用?

我用netcoreapp1.0框架.

更新:对于Windows我找到了一个工具DebugView中,其中显示了从输出Debug,https://technet.microsoft.com/en-us/sysinternals/bb896647.aspx,但问题仍然是实际用于Linux和Console输出.

.net .net-core

6
推荐指数
1
解决办法
2862
查看次数

ServiceStack实体Id字段名称

我使用ServiceStack并希望将对象存储为Redis中的哈希值,并且无需序列化整个对象即可通过ID访问其部件(字段),因此我有一个问题:

  1. 有没有办法使用其他属性,然后"Id",标记id字段?我正在使用命名约定,其中id字段被命名为"class
    name + Id"​​.所以在User类中
    会有ItemId id字段,在Itemclass ItemId中等等.

  2. 是一种更新对象中已更改的属性的方法,而不将整个对象序列化为哈希,并且没有使用Redis的哈希命令进行低级操作?例如,通过使用某种lambdas.

 

User user=client.GetById(userId);
user.Name="New name";
client.Update<User>(user,u=>u.Name);
Run Code Online (Sandbox Code Playgroud)

hash redis servicestack

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

如何忽略AB(Apache Bench)中的超时?

我在Web服务上使用apache Bench运行基准测试。我知道测试中的1-2个请求将在测量期间超时(这是一个Web框架问题)。并且当发生超时时,将ab退出该消息apr_pollset_poll: The timeout specified has expired (70007),并且不显示结果。我想获得忽略这些超时测试的测量结果(或也对它们进行计数,但仅将超时值用作响应时间)。有可能ab吗?

编辑:我使用的命令是

ab -n 1000 -c 10 http://localhost:80
Run Code Online (Sandbox Code Playgroud)

我调查了ab源代码,从我看到的结果来看,不可能忽略这些错误。也许有一个实现这种功能的叉子?

benchmarking load-testing apachebench

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

无需ajax调用的数据表draw()

我正在尝试调整jquery数据表的大小以适合屏幕大小。数据表以服务器端模式(property "serverSide": true)运行。更改窗口大小后,我将重新计算新数据表的高度,然后调用draw(false)以重新绘制数据表的布局。

不幸的是,该draw()方法进行了ajax调用,这使解决方案无法使用,因为该方法显示“正在处理”,并且需要花费时间来获取每次小窗口更改时的数据。

如何在不调用AJAX的情况下重绘数据表布局?我不需要刷新数据,我只想重绘表。

ajax jquery datatables datatables-1.10

4
推荐指数
2
解决办法
7653
查看次数

MSBuild nuget RestoreOutputPath 如何使其工作?

新的 msbuild csproj 格式已经集成了 nuget 命令。可以通过<RestoreOutputPath>obj\profile7</RestoreOutputPath>在项目文件中使用命令来更改将恢复项目资产的默认路径 。

但是如果我添加<RestoreOutputPath>obj\profile7</RestoreOutputPath>到 csproj 文件后续命令

dotnet restore myproj.sln
dotnet build myproj.sln
Run Code Online (Sandbox Code Playgroud)

产生构建错误

obj\project.assets.json' not found. Run a NuGet package restore to generate this file.
Run Code Online (Sandbox Code Playgroud)

如何告诉 MSBuildobj\Profile7在构建命令期间从此路径获取 nuget 资产?

msbuild nuget .net-core .net-core-2.0

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

如何从 Kestrel 服务器设置 StatusDescription?

如何从 Kestrel 服务器设置 HTTP 状态描述?我想返回 HTTP/1.1 400 ArgumentException而不是HTTP/1.1 400 Bad RequestStatusDescription在 中找不到属性DefaultHttpResponse,我只能StatusCode用数字代码更改。

这是示例应用程序:

https://github.com/aspnet/KestrelHttpServer/tree/dev/samples/SampleApp

c# .net-core kestrel-http-server

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