我正在调试VS2008中的C#控制台模式应用程序"xiixtasks.exe".
我正在尝试从xiixtasks.exe获取版本信息.
当我尝试"Process.GetCurrentProcess()"时,它为我提供了vshost.exe的文件名和版本信息,而不是xiixtasks.exe:
// WRONG: this gives me xiixtasks.vhost.exe, version 9.0.30729.1
// I *want* "xiixtasks.exe", version 1.0.0.1024
System.Diagnostics.FileVersionInfo fi =
System.Diagnostics.Process.GetCurrentProcess().MainModule.FileVersionInfo;
Run Code Online (Sandbox Code Playgroud)
我应该做什么呢?
先感谢您!
================================================== ====
解:
1)最初的问题确实是IDE的"vshost"包装器.一种解决方法是更改构建设置.
2)Assembly.GetExecutingAssembly().CodeBase是一个很好的解决方案 - 谢谢!它在调试器内部和外部工作.
3)不幸的是,当我尝试用一个预期正常文件路径的函数调用它(而不是像GetExecutingAssembly()"给你"这样的URI)时,它死于"不支持Uri格式"异常.
4)最终解决方案:调用GetExecutingAssembly(),然后调用Uri.LocalPath():
...
else if (cmdArgs.cmd.Equals(CmdOptions.CMD_SHOW_VERSION))
{
string codeBaseUri =
Urifile.System.Reflection.Assembly.GetExecutingAssembly().CodeBase;
string codeBase =
new Uri (codeBaseUri).LocalPath;
string sVersion = Util.GetWindowsVersion(codeBase);
System.Console.WriteLine ("version({0}): {1}: ",
Util.Basename(codeBase), sVersion);
}
Run Code Online (Sandbox Code Playgroud)
全部再次感谢你!
我有一个调用Java Web服务的C#Winforms客户端.该服务被正确调用并返回预期的结果.
我一直在努力,直到我脸红了才能添加肥皂扩展.它编译正确,我完全有理由相信它已经注册了......但它永远不会被调用.我尝试修改app.config; 我试着调用"wss.SoapExtensionTypes.Add(soapInterceptor)":同样的事情.我的SoapException的"Initalize()"和"ProcessMessage()"函数根本就不会被调用.
问:有什么建议吗?任何调试技巧?
ClientTraceExtension.cs =>
using System;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.Web.Services.Configuration;
using System.IO;
using System.Net;
using System.Reflection;
using System.Security.Permissions;
using GITSearchClient.ServiceReference1;
/*
* REFERENCE:
* http://msdn.microsoft.com/en-US/library/system.web.services.protocols.soapextension%28v=vs.90%29.aspx
*/
namespace GITSearchClient
{
public class ClientTraceExtension : SoapExtension
{
private Stream oldStream;
private Stream newStream;
private string filename = "c:\\temp\\soap_result.txt";
// Custom SoapExtension must override: ChainStream, GetInitializer()x2, Initialize() and ProcessMessage()
public override Stream ChainStream(Stream stream)
{
oldStream = stream;
newStream = new MemoryStream();
return newStream;
}
public override object …Run Code Online (Sandbox Code Playgroud) 我正在使用Visual Studio 2010在C#中编写Windows窗体应用程序.
它有一个组合框.我将DropDownStyle设置为"DropDownList",并在"Items"中添加了几行.
问:我有没有办法在"属性"编辑器中设置SelectedItemIndex,这样当"组合框"出现时,"Items"集合中的行将显示为默认值?
我知道我可以编程在我的Form_Load方法设置"myComboBox.SelectedItemIndex = NNN",但我SURE可能有一些方法来做到这一点的MSVS IDE了.
有任何想法吗?
先感谢您!
我正在使用Node.js和Box SDK.我的(失败!)代码如下所示:
var connection = box.getConnection(req.user.login);
connection.ready(function () {
connection.getFolderItems(0, null, function (err, result) {
if (err) {
opts.body = err;
} else {
opts.body = result;
var a = [];
for (var i=0; i < result.entries.length; i++) {
connection.getFileInfo(result.entries[i].id, function (err, fileInfo) {
if (err) {
opts.body = err;
} else {
a.push(fileInfo);
}
});}
}
Run Code Online (Sandbox Code Playgroud)
在"程序"术语中,这是我想要做的:
var connection= box.getConnection()
var items = connection.getFolderItems()
var itemList = new List
foreach (item in items) {
connection.getFileInfo(item.id)
itemList.add(item)
}
display(itemList)
Run Code Online (Sandbox Code Playgroud)
我的问题是, …
我正在调用Web服务以生成.pdf,然后使用createObjectURL和iframe进行打印和显示:
var title = "Claim-" + this.claimNumber + "-" + new Date() + ".pdf";
var blob = new Blob([wsRequest.response], { type: 'application/pdf' });
blob.name = title;
if (browser() === 'IE') {
window.navigator.msSaveOrOpenBlob(blob, title);
} else {
var fileURL = URL.createObjectURL(blob);
var win = window.open();
win.document.write('<iframe name="' + title + '" src="' + fileURL + '" frameborder="0" style="border:0; top:0px; left:0px; bottom:0px; right:0px; width:100%; height:100%;" allowfullscreen></iframe>');
win.document.title = title;
Run Code Online (Sandbox Code Playgroud)
对于IE来说,它的工作原理非常好:.pdf出现在Acrobat Reader中,它可以显示,我可以打印...并且它的文件名“有意义”。
对于Chrome /嵌入式.pdf查看器,它也可以正常运行:它显示在自己的标签中,并且该标签具有“有意义的文件名”。
但是,如果Chrome在Acrobat Reader中显示图像,请执行以下操作:
a)我得到一个新的空白标签(带有“有意义的名称”)
b)Acrobat显示一个GUID-由createObjectURL()分配的GUID:
示例:“ blob:http://192.168.116.170 …
我有一个旧的“PHPDBG”函数,可以让我“printf”到文本文件。
我“从永远”开始使用PHPDBG.inc(至少从 PHP 4.x 时代起),但它似乎无法在我当前的配置(ubuntu18、Apache 2.4.29 和 PHP 7.2)中工作。
具体来说:
error_get_last()内容$php_errormsg。这是测试代码:
测试.php:
<?php
function PHPDBG ($s) {
$fp = fopen ("/tmp/PHPDBG.txt", "a");
if ($fp) {
// Successful open ... but nothing written!
fputs($fp, $s . "\n");
fclose($fp);
} else {
echo "<h3>FILE OPEN ERROR</h3>\n";
echo "<p>" . print_r(error_get_last()) . "</p>\n";
echo "<p>" . $php_errormsg . "</p>\n";
}
} …Run Code Online (Sandbox Code Playgroud) 我的 .Net 5./ASP.Net MVC 应用程序中有一个“编辑”页面。如果ModelState.IsValid是“false”,我想在拒绝整个页面之前检查各个错误。
问题:如何获取列表中无效项目的“名称” ModelState?
例如:
处理程序方法:public async Task<IActionResult> OnPostAsync()
if (!ModelState.IsValid): “错误的”
this.ModelState.Values[0]: SubKey={ID}, Key="ID", ValidationState=无效 Microsoft.AspNetCore.Mvc.ModelBinding.ModelStateEntry {Microsoft.AspNetCore.Mvc.ModelBinding.ModelStateDictionary.ModelStateNode}
代码:
foreach (ModelStateEntry item in ModelState.Values)
{
if (item.ValidationState == ModelValidationState.Invalid)
{
// I want to take some action if the invalid entry contains the string "ID"
var name = item.Key; // CS1061: 'ModelStateEntry 'does not contain a definition for 'Key'
...
Run Code Online (Sandbox Code Playgroud)
问题:如何从每个无效的 ModelState“值”项中读取“键”???
解决
我的基本问题是迭代“ModelState.Values”。相反,我需要迭代“ModelState.Keys”才能获取所有必需的信息。
解决方案1)
foreach (KeyValuePair<string, ModelStateEntry> modelStateDD in …Run Code Online (Sandbox Code Playgroud) 我有一个 springboot 应用程序,我在自己的家庭服务器上托管该应用程序。我也有 sql 数据库设置。
\n对于前端,我\xe2\x80\x99m 计划使用 android 进行初始测试阶段,然后将其转移到 flutter。
\n我想知道如何从 Spring Boot 向前端应用程序发送通知。我看过一些关于如何通过 fire base 发送它的文章,但我想知道是否有\xe2\x80\x99s 另一种方法可以在不使用外部服务的情况下实现相同的目的。
\n我已经在 3 台电脑上设置了运行 Ubuntu 的服务器,该服务器对我的应用程序进行负载平衡,并希望使用其中一台来发送推送通知。
\nnotifications push-notification android-studio spring-boot flutter
ShellExecute()每次我的PowerPoint幻灯片放映中出现一张新幻灯片时,我最终想要做的是一个命令行程序.我正在使用Office 2003 PowerPoint.
我做了以下事情:
工具>选项>安全选项>宏安全>安全级别=中
工具>选项>宏> VBA编辑器:
Sub OnSlideShowPageChange(ByVal SSW As SlideShowWindow)
MsgBox ("OnSlideShowPageChange")
End Sub
Run Code Online (Sandbox Code Playgroud)文件>保存
返回PowerPoint :( F5适用于幻灯片放映>查看显示).没有看到消息框
退出PowerPoint,F5再次重新打开.ppt文件.仍然没有看到消息框
问题:我错过了什么?为什么OnSlideShowPageChange在我运行幻灯片放映时没有被调用?
希望你们一切都好!
我需要问一个关于azure devops的问题,我已经阅读了文档,但是我没有找到解决这些疑问的方法
我有 X、Y 和 Z 项目,并在 X 项目中在管道 >> Libray中创建一组称为常规的变量,我希望与 Y 和 Z 管道共享,在配置该组时我启用了选项“允许访问所有管道”。
在 Y 和 Z 管道的 YAML 中,我进行了以下配置:**变量:
运行管道时,他返回一个授权请求,甚至单击授权,根据下面的打印:
There was a resource authorization issue:
"An error occurred while loading the YAML build pipeline.
Variable group was not found or is not authorized for use.
For authorization details, refer to https://aka.ms/yamlauthz."
Run Code Online (Sandbox Code Playgroud)
我的问题是,有没有办法在不同用途的管道之间共享变量,如果有的话,您能给我发送一些可以帮助我配置这个的文档吗?
c# ×4
.net ×1
.net-5 ×1
asynchronous ×1
azure-devops ×1
combobox ×1
flutter ×1
fopen ×1
for-loop ×1
html5 ×1
iframe ×1
javascript ×1
modelstate ×1
node.js ×1
php ×1
powerpoint ×1
spring-boot ×1
systemd ×1
vba ×1
winforms ×1