我在Bing Maps WPF控件上绘制区域(使用SqlGeometry/ SqlGeography并将它们转换为WPF LocationCollection等效项)并需要标记它们.我得到了区域上绘制的标签,并将它们附加到找到的点上STCentroid().当然,正如您所想象的那样,"U"或"C"形区域存在问题,其中质心最终位于区域之外,这使得标签不正确.
有没有办法使用SqlGeometry/ SqlGeography找到"视觉"中心或者找到最适合形状并使用该中心的圆圈?我尝试了各种方法,STPointOnSurface()但似乎STPointOnSurface()总是在边缘上选择一个点,就像DCREHA一样(底部深绿色区域的标签总是在边缘上:
我一直在努力将自定义类的自定义集合添加到我的winforms项目的应用程序设置中,我觉得我已经尝试了六种不同的方式,包括这种方式,这种方式,这种方式,这种方式但似乎没有任何工作......
目前代码符合,并且运行正常 - 任何地方都没有例外.编写他的保存功能,但在设置xml文件中没有创建条目(我有一些其他设置,它适用于所有这些,但这一个FYI).当它加载时,Properties.Settings.Default.LastSearches总是为空......有什么想法吗?
继承我目前的代码:
课程:
[Serializable]
public class LastSearch : ISerializable
{
public DateTime Date { get; set; }
public string Hour { get; set; }
public string Log { get; set; }
public string Command { get; set; }
public List<string> SelectedFilters { get; set; }
public List<string> SearchTerms { get; set; }
public List<string> HighlightedTerms { get; set; }
public List<string> ExcludedTerms { get; set; }
public …Run Code Online (Sandbox Code Playgroud) 我们正在为客户端部署的桌面应用程序(winforms)实施DevOps策略.到目前为止,我们使用SlowCheetah进行配置转换(例如:从配置管理器中选择QA,自动交换app.QA.config,进行构建,使用SCCM将MSI部署到QA机器).
我们正在尝试利用Azure DevOps来自动执行此过程,但我遇到了障碍.我想做1个版本,以及Dev - > QA - > UA - > Prod的发布管道,但由于配置转换仅在构建上运行,我不知道该怎么做.
MSI只会为当前选定的配置生成,因此释放步骤中的下降只有1个MSI(配置已经打包,无法更改).
我知道构建步骤构建解决方案4次(每个配置一个)将起作用 - drop将包含所有4个MSI,但这看起来很愚蠢.
我不能只在发布管道上构建安装项目,因为Drop中只有DLL可用,而不是项目文件.我怎么能做到这一点?
谢谢!
c# windows-installer app-config desktop-application azure-devops
我在.NET Studio窗体项目的Visual Studio 2015中有一个安装项目,它需要SQL Server 2012 Express作为先决条件.我已经成功创建了一个bootstrapper(位于其中C:\Program Files (x86)\Microsoft Visual Studio 14.0\SDK\Bootstrapper\Packages\SqlExpress2012)并添加了以下命令以使其保持静默:
/q /action=Install /features=SQL,AS,RS,IS,Tools
/instancename=SQLExpress /sqlsvcaccount="NT AUTHORITY\Network Service"
/sqlsysadminaccounts="BUILTIN\Users"
/agtsvcaccount="NT AUTHORITY\Network Service"
/IAcceptSqlServerLicenseTerms /skiprules=RebootRequiredCheck`
Run Code Online (Sandbox Code Playgroud)
尽管如此,我仍然可以获得EULA弹出窗口/IAcceptSqlServerLicenseTerms.
这install.log表明该命令确实正在应用(事实上它确实安装了,就在我必须点击EULA之后).是什么赋予了?我很困惑它如何获取命令的所有其余部分但忽略了/IAcceptSqlServerLicenseTerms.
我唯一的理论是它首先调用SqlExpressChk.exe以确定是否安装x32或x64位版本,并且EULA附加到该版本.有什么想法吗?
这是install.log行,表明我的命令确实正在应用:
Installing using command 'C:\Users\ljhersma\AppData\Local\Temp\VSD11B8.tmp\SqlExpress2012\SQLEXPR_x64_ENU.EXE' and parameters '/qs /action=Install /features=SQL,AS,RS,IS,Tools /instancename=SQLExpress /sqlsvcaccount="NT AUTHORITY\Network Service" /sqlsysadminaccounts="BUILTIN\Users" /agtsvcaccount="NT AUTHORITY\Network Service" /ENABLERANU /IAcceptSqlServerLicenseTerms /skiprules=RebootRequiredCheck'
Run Code Online (Sandbox Code Playgroud) deployment installer bootstrapper sql-server-express visual-studio
我一直试图为VS 2017 Professional 安装Microsoft Visual Studio 2017安装程序项目一段时间后没有成功.首先,我尝试了VS2017中的Extensions and Updates向导.它正确下载,但当我关闭VS以启动安装时,如果立即失败,请执行以下操作:
然后我从Visual Studio Marketplace中抓取了VSIX并尝试通过以下命令行安装它:
VSIXInstaller InstallerProjects.vsix
这似乎让我更进一步,但也让我知道证书是问题.不是这样说的Digital Signature: Invalid Certificate:
单击以继续安装后,它会失败并允许我查看日志:
日志似乎在这里回应证书问题:
10/17/2017 1:11:21 PM - Signature Details...
10/17/2017 1:11:21 PM - Extension is signed with an invalid certificate
10/17/2017 1:11:21 PM - (PartialChain) : A certificate chain could not be built to a trusted root authority.
10/17/2017 1:11:21 PM - (RevocationStatusUnknown): The revocation function was unable to check revocation for the certificate.
10/17/2017 1:11:21 PM - (OfflineRevocation) …Run Code Online (Sandbox Code Playgroud) 我有一个带有安装项目的.NET Console应用程序,我试图移植到VSTS Online(visualstudio.com),以利用源代码控制并添加自动构建/部署。
我已经上传了很好的代码,并且它的构建很棒,但是正在努力使其生成MSI。我已经尝试在解决方案构建后引入命令行任务来运行devenv.com,但我无法完全正常工作。关于获取设置项目以构建其MSI的任何想法?
谢谢!
编辑:
这是我尝试的命令行任务:
Tool: C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\devenv
Arguments: SolutionName.sln /Build $(BuildConfiguration) /Project Setup\Setup.vdproj
Run Code Online (Sandbox Code Playgroud)
编辑2:
新命令行:
Tool: C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\devenv.com
Arguments: MySolution.sln /Build $(BuildConfiguration) /Project Setup\Setup.vdproj
Run Code Online (Sandbox Code Playgroud)
日志:
2017-10-04T17:58:48.7033117Z ##[command]"C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\devenv.com" MySolution.sln /Build release /Project Setup\Setup.vdproj
2017-10-04T17:59:12.1156461Z microsoft.visualstudio.telemetry.dll
2017-10-04T17:59:12.1196471Z microsoft.visualstudio.telemetry.dll
2017-10-04T17:59:12.1196471Z microsoft.visualstudio.telemetry.dll
2017-10-04T17:59:12.1196471Z microsoft.visualstudio.telemetry.dll
2017-10-04T17:59:12.1206475Z microsoft.visualstudio.telemetry.dll
2017-10-04T17:59:12.1206475Z microsoft.visualstudio.telemetry.dll
2017-10-04T17:59:12.1206475Z microsoft.visualstudio.extensionmanager.implementation.dll
2017-10-04T17:59:46.2231714Z
2017-10-04T17:59:46.2231714Z Microsoft Visual Studio 2017 Version 15.0.26730.3.
2017-10-04T17:59:46.2231714Z Copyright (C) Microsoft Corp. All rights reserved.
2017-10-04T17:59:46.2231714Z
2017-10-04T17:59:46.2231714Z Some errors …Run Code Online (Sandbox Code Playgroud) 我在 Windows IIS Web 服务器上本地托管了一个 ELK 堆栈 (v7.0),并且日志没有发送到服务器。服务器正在运行,我可以访问保留的 URL 并取回通用 json 包,说 Elasticsearch 正在运行,我可以很好地登录 Kibana,只是没有日志可以查看。
我在正在记录的应用程序中设置了一个 bufferBaseFilename,当我去那个位置时,日志实际上就在那里,正确索引等等。我想知道为什么它永远不会同步回服务器?这似乎是一个连接问题,但所有网络内容都检查出来了。我可能错过了一些简单的东西。有什么想法吗?如果您需要更多信息,请与我们联系!
这是我进入Unix脚本领域的第一次旅程,我不知道如何解决这个问题.我要查询数据库并提取时间戳.我需要做的是采用时间戳(以令人敬畏的格式YYYYMMDDHHMMSS),如果超过10分钟,则返回1,否则返回0.
同样,我对这种类型的脚本基本上没有经验(背景是在C++和C#中)所以如果你们不介意多一点解释我会很感激 - 我想知道它是如何工作的.
谢谢!
我需要在另一个线程中获取RichTextBox中的文本.我尝试这样调用:
string text = ResultsRTB.Invoke((MethodInvoker)(() => ResultsRTB.Text));
Run Code Online (Sandbox Code Playgroud)
但是,由于您无法使用MethodInvoker返回任何内容(我知道),这显然无效.我也尝试过这里和这里的建议的变化,没有运气.我觉得这是一个简单的方法,但我只是缺少一件小事.谢谢!
我在读取网络驱动器上的大文件(~400 mb)时遇到一个有趣的问题。最初,我将完整的网络地址输入 FileInfo 中,并使用 CopyTo 函数将其传输到本地临时驱动器,然后读取它。这似乎工作正常,它不慢但也不快 - 只是嗯。CopyTo功能将使运行该程序的计算机的网络利用率始终保持在50%以上,这已经相当不错了。
为了加快这个过程,我尝试将网络文件直接读入内存流,以消除中间人。当我尝试这个(使用此处描述的异步复制模式)时,速度非常慢。我的网络利用率从未超过 2% - 几乎就像有什么东西在限制我。仅供参考,我在通过 Windows 资源管理器直接复制同一文件时观察了我的网络利用率,它达到了 80-90%...不知道这里发生了什么。下面是我使用的异步复制代码:
string line;
List<string> results = new List<string>();
Parser parser = new Parser(QuerySettings.SelectedFilters, QuerySettings.SearchTerms,
QuerySettings.ExcludedTerms, QuerySettings.HighlightedTerms);
byte[] ActiveBuffer = new byte[60 * 1024];
byte[] BackBuffer = new byte[60 * 1024];
byte[] WriteBuffer = new byte[60 * 1024];
MemoryStream memStream = new MemoryStream();
FileStream fileStream = new FileStream(fullPath, FileMode.Open, FileSystemRights.Read, FileShare.None, 60 * 1024, FileOptions.SequentialScan);
int Readed = 0;
IAsyncResult ReadResult;
IAsyncResult WriteResult;
ReadResult = …Run Code Online (Sandbox Code Playgroud) 以下是unix中ls -lrt命令的结果:
-rw-r--r-- 1 blah blah 846 Apr 18 2013 filetype1.log
-rw-r--r-- 1 blah blah 290338533 Jan 3 00:59 filetype2.log
Run Code Online (Sandbox Code Playgroud)
为什么一个人方便地返回年份而另一个只有月,日和时间戳?我怎么能一年到头?
编辑:这是一个例子,其中最后一次编辑时间不在当前年份内且仍然没有年份:
-rw-r--r-- 1 blah blah 689466 Dec 31 23:59 filetype2.log
-rw-r--r-- 1 blah blah 689591 Jan 1 00:59 filetype2.log
Run Code Online (Sandbox Code Playgroud) 我有一些输出到RichTextBox(可能很多或很少,它的搜索结果),并希望应用一些自定义颜色编码.决定使用正则表达式,当它工作时,它似乎相当缓慢(约20秒)300结果.
输出始终采用相同的格式:
Attribute1=Value1 Attribute2=(Value2) Attribute3="String value 3" Attribute4=
Run Code Online (Sandbox Code Playgroud)
等等.所以,我有4个案例:stuff = stuff,stuff =(stuff)stuff ="string of stuff"和stuff =
以下正则表达式工作正常(匹配它应该的一切),但速度很慢:
(\S+)=("(?:[^"]|(?<open>")|(?<-open>"))+(?(open)(?!))")|(\S+)=(\((?:[^()]|(?<open>\()|(?<-open>\)))+(?(open)(?!))\))|(\S+)=(\S+)|(\S+)=\s
Run Code Online (Sandbox Code Playgroud)
你们看到什么特别的东西会减慢它的速度吗?我相信你可以说,第一部分与引号相匹配,第二部分与括号相匹配,等等.
更新 只是开玩笑,并不能完全归还我想要的......这个:
Attribute1=Value1 Attribute2=(Value2) Attribute3="String value 3" Attribute4= Attribute5="Another string"
Run Code Online (Sandbox Code Playgroud)
返回:
5: Attribute1
6: Value1
3: Attribute2
4: (Value2)
1: Attribute3
2: "String value 3" Attribute4= Attribute5="Another string"
Run Code Online (Sandbox Code Playgroud)
看起来引号一直匹配到第二个字符串,而不是单独考虑它们.
我有一个程序,它根据结果以某种方式对返回的结果集进行颜色编码。由于对结果进行颜色编码所需的时间较长(目前使用 Regex 和 RichTextBox.Select + .SelectionColor 完成),我在 400 个结果处切断了颜色编码。在这个数字左右,大约需要 20 秒,这大约是我认为合理的最长时间。
为了尝试提高性能,我重写了 Regex 部分以使用循环Parallel.ForEach来迭代MatchCollection,但时间大致相同(18-19 秒 vs 20 秒)!难道这个工作不太适合并行编程吗?我应该尝试一些不同的东西吗?欢迎任何建议。谢谢!
PS:我觉得有点奇怪,无论有没有 Parallel.ForEach,我的 CPU 利用率都没有达到 14% 左右。
代码
MatchCollection startMatches = Regex.Matches(tempRTB.Text, startPattern);
object locker = new object();
System.Threading.Tasks.Parallel.ForEach(startMatches.Cast<Match>(), m =>
{
int i = 0;
foreach (Group g in m.Groups)
{
if (i > 0 && i < 5 && g.Length > 0)
{
tempRTB.Invoke(new Func<bool>(
delegate
{
lock (locker)
{
tempRTB.Select(g.Index, g.Length);
if ((i & 1) == …Run Code Online (Sandbox Code Playgroud) c# ×8
.net ×4
.net-4.0 ×3
winforms ×3
azure-devops ×2
regex ×2
unix ×2
app-config ×1
bing-maps ×1
bootstrapper ×1
deployment ×1
file-io ×1
installer ×1
kibana ×1
logging ×1
ls ×1
polygon ×1
serilog ×1
settings ×1
shell ×1
sql-server ×1