小编Cyb*_*ist的帖子

如何在MSBuild中的Exec命令中转义引号

我正在尝试构建一个MSBuild脚本,将脚本中的网络驱动器映射到驱动器号,但不幸的是,目标文件夹的路径包含一个嵌入式空间.嵌入空间导致映射失败,我不知道是否可以转义路径周围的引号.我尝试过双引号,但是MSBuild不喜欢它(要么是Windows XP不喜欢它).任何人都知道如何编码这个野兽,以便地图有效吗?

<Exec Command="net use x: \\ofmapoly703\c$\program files\ar\iap /user:$(UserID) $(Password)"
WorkingDirectory="c:\"
ContinueOnError="false"
/>
Run Code Online (Sandbox Code Playgroud)

嵌入空间当然发生在"程序文件"中.

msbuild

125
推荐指数
2
解决办法
3万
查看次数

如何授予ASP.NET写入Windows 7文件夹的权限?

我有一个新的Win7工作站,我正在尝试让ScrewTurn Wiki在机器上运行.我的STW安装使用文件系统选项来存储其数据,因此我需要为安装网站的文件夹中的ASP.NET辅助进程提供写入权限.

但是,我似乎无法在Win7中提出工作进程的名称,以便将其添加到文件夹的权限.在XP中它是ASPNET_WP,如果我没记错的话,但这不是它在Win7中的名字.

有人可以告诉我吗?

编辑添加:

回应@Dragan_Radivojevic,这是所讨论的应用程序池的样子(名为ScrewTurnWiki):

IIS7应用程序池

身份是"ApplicationPoolIdentity"

asp.net iis-7.5

59
推荐指数
3
解决办法
13万
查看次数

用于VS2012的Sql Server数据工具与Sql Server 2012不兼容怎么办?

在一个非常奇怪的转向,我试图在Visual Studio 2012中创建一个Sql数据库项目,并得到这个疯狂的错误:

在此输入图像描述

点击任一链接都会导致在Microsoft.com上找不到Page,这本身就很奇怪.

从错误消息的裸文本(用于搜索目的):

无法打开数据库项目

此版本的SQL Server数据工具与此计算机上安装的数据库运行时组件不兼容.

考虑到我在工作站上安装了Sql Server 2012 Developer Edition,这似乎令人难以置信.我可以在安装了Sql Server 2012 DE的VS2008中打开或创建数据库项目,那为什么不用VS 2012呢?

visual-studio-2012 sql-server-2012-datatools

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

这不应该导致溢出吗?它没有!

无论如何,这有什么用呢?我做了一个简单的乘法:

Int64 x = 11111111111;
Int64 y = 11111111111;
Int64 z = x * y;
Run Code Online (Sandbox Code Playgroud)

在乘法结束时,z显示的值为:

-5670418394979206991

这显然已经溢出,但没有例外.我想要一个人成长,但......

请注意,这是在Windows Phone 7上,但我认为这与此问题无关.或者是吗?

c# windows-phone-7

33
推荐指数
4
解决办法
987
查看次数

"方法'〜'对象'〜'失败"是什么意思?

我正在尝试在我的桌面上运行遗留的VB6应用程序(它没有用户界面,是一个命令行应用程序),当我这样做时,我收到一个消息框说

Run-time error '4099':

Method '~' of object '~' failed
Run Code Online (Sandbox Code Playgroud)

这对我来说没什么意义; 有没有人知道出了什么问题?

vb6 com

30
推荐指数
2
解决办法
7万
查看次数

使用Robocopy仅复制更改的文件?

我正在尝试找到一种简单的方法,只将已更改的文件部署到Web服务器以进行部署.在过去我曾经使用过MSBuild,可以告诉他只复制比目标文件更新的文件,但是我很着急并且不想试图找出更新版本的MSBuild.

我可以使用ROBOCOPY吗?有一个排除选项列表,它是:

  • / XC :: eXclude已更改的文件.
  • / XN :: eXclude较新的文件.
  • / XO :: eXclude旧文件.
  • / XX :: eXclude eXtra文件和目录.
  • / XL :: eXclude孤独的文件和目录.

排除究竟是什么意思?排除复制或排除覆盖?例如,如果我写道:

ROBOCOPY C:\ SourceFolder\ABC.dll D:\ DestinationFolder/XO

这会复制更新的文件,而不是相同年龄的文件吗?

或者有更好的工具来做到这一点?

asp.net msbuild robocopy web-deployment

24
推荐指数
1
解决办法
12万
查看次数

如何以编程方式发现系统上的映射网络驱动器及其服务器名称?

我试图找出如何以编程方式(我正在使用C#)确定我的工作站当前映射的服务器的名称(或IP).换句话说,在Windows资源管理器中的某个时刻,我将网络驱动器映射到驱动器号(或使用"net use w:"来映射它).我知道如何在系统上获取网络驱动器:

DriveInfo[] allDrives = DriveInfo.GetDrives();
foreach (DriveInfo d in allDrives)
{
    if (d.IsReady && d.DriveType == DriveType.Network)
    {
    }
}
Run Code Online (Sandbox Code Playgroud)

但是DriveInfo类没有告诉我与映射驱动器关联的服务器和共享文件夹的属性.还有其他地方我应该看吗?

.net c# windows

22
推荐指数
5
解决办法
4万
查看次数

T-Sql中的时间戳在C#中意味着什么?

我正在尝试开发一个模型对象来保存一个Sql Server行,我完全理解除了T-Sql/SqlServer时间戳之外如何做到这一点.该表定义为:

CREATE TABLE activity (
activity_id int
, ip_address varchar(39)
, user_id varchar(255)
, message_text
, dt timestamp
)
Run Code Online (Sandbox Code Playgroud)

当我将表行解析为我的对象时,对于int或字符串,我希望做类似的事情:

ActivityID = (int)dataReader["activity_id"];
IPAddress = (string)dataReader["ip_address"];
Run Code Online (Sandbox Code Playgroud)

但是我该如何处理时间戳列?我可以在任何地方找到没有"timestamp"数据类型.我知道Sql Server将时间戳存储为8字节的二进制文件,但这通常与.NET中的相同?

编辑添加:一些额外的信息......这是从我们的大型机上的DB2表通过Sql Server视图返回的行."Rowversion"不是一个选项,DB2正在将列作为时间戳处理.如果timestamp和rowversion相同,也许我可以将它视为一个,但否则我会遇到时间戳.

再次编辑补充说:这个项目将让我疯狂.它至少会是一次短途旅行.无论如何,是的@JoelC这是一个Sql Server视图,进入大型机上的DB2数据库.我终于能够找到我们的一位DBA,他们轻蔑地解释说"当然"DB2 TIMESTAMP遇到了一个Sql Server视图作为日期时间.根据他的语调,我猜只有新手不知道这一点.这就是为什么他在实际视图中将其命名为"datetime",Duh!(我在我的示例中给它一个不同的名称,以便不触发对命名约定的评论 - 实际的数据模型图表示它是TIMESTAMP并将其命名为时间戳).所以,在这种情况下,显然必须将其转换为DateTime.我想我可能会开始考虑成为一名DBA,这样我也可以让程序员疯狂.对不起,如果我误导了这个问题的任何响应者 - 这是无意的,因为我实际上期待时间戳是一个时间戳.傻我.特别感谢Microsoft将字节数组数据类型命名为"时间戳",因为它与日期和时间无关.我没有最简单的想法,哪个回应标记为答案.叹.

c# t-sql sql-server db2

15
推荐指数
4
解决办法
3万
查看次数

使用凭据的.NET进程启动进程错误(句柄无效)

我有一个Windows窗体应用程序,它为StartInfo提供用户名,域和密码,它会抛出:

System.ComponentModel.Win32Exception:句柄 在System.Diagnostics.Process.Start()的System.Diagnostics.Process.StartWithCreateProcess(ProcessStartInfo startInfo)中无效

当我允许凭证默认为当前用户时,我没有得到这样的错误,并且我开始的过程工作到不需要使用凭证的程度(在MSBuild脚本中映射驱动器所需的信用).这是填充开始信息的代码:

Process p = new Process();
ProcessStartInfo si = new ProcessStartInfo(buildApp, buildArgs);
si.WorkingDirectory = msBuildWorkingDir;
si.UserName = txtUserName.Text;
char[] psw = txtPassword.Text.ToCharArray();
SecureString ss = new SecureString();
for (int x = 0; x < psw.Length; x++)
{
    ss.AppendChar(psw[x]);
}
si.Password = ss;
si.Domain = "ABC";
si.RedirectStandardOutput = true;
si.UseShellExecute = false;
si.WorkingDirectory = txtWorkingDir.Text;
p.StartInfo = si;
p.Start();
Run Code Online (Sandbox Code Playgroud)

并不是用户/ psw不匹配,因为当我提供一个糟糕的psw时,它会抓住它.因此,这个"无效句柄"的事情在信用证通过后发生.关于我可能会忽略或搞砸的任何想法?

.net c# system.diagnostics

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

可以使用XmlAttributes来选择性地使用XmlIgnore吗?

我有一个相当大的类来序列化为Xml,并且为了减少浪费的空间,有选择地想要选择XmlIgnore的一些类属性.例如,类中的一个属性仅为十分之一左右分配一个值,如果我对序列化属性进行如下编码,如下所示

[XmlAttribute]
public String WorkClass
{
    get { return _workClass; }
    set { _workClass = value; }
}
Run Code Online (Sandbox Code Playgroud)

如果没有值(大部分时间),则会反复序列化

WorkClass=""
Run Code Online (Sandbox Code Playgroud)

是否存在一个选项或属性,如果其值为空,则忽略序列化属性,但如果它不为空则不忽略它?

c# xml xml-serialization

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