小编Sep*_*tih的帖子

如何在Windows安装程序的自定义操作中获取当前用户名?

我需要获取运行安装程序的用户的用户名以进行自定义安装操作.因为安装程序获得特殊权限,所以Environment.UserName只提供"SYSTEM".

Environment.SpecialFolders.ApplicationData返回当前用户appdata文件夹,但我无法可靠地挖掘用户名.

更多案例细节:

使用Visual Studio 2008安装项目自定义操作是安装后运行的安装程序类,是项目中唯一的安装程序类.

.net c# windows-installer

11
推荐指数
2
解决办法
3578
查看次数

如何在Azure角色部署中解决System.Web.Http TypeLoadException?

在我们的Azure云服务中,我们使用Mvc,WebApi和Autofac.

Mvc和WebApi需要System.Web.Http版本5.2.3

Autofac.WebApi2需要5.2.0

使用5.2.3版部署到Azure时,Web角色无法启动,并显示以下错误:

WaIISHost
Role entrypoint could not be created: System.TypeLoadException: Unable to load the role entry point due to the following exceptions:
-- System.IO.FileLoadException: Could not load file or assembly 'System.Web.Http, Version=5.2.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
File name: 'System.Web.Http, Version=5.2.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'

=== Pre-bind state information ===
LOG: DisplayName = System.Web.Http, Version=5.2.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
 (Fully-specified)
LOG: Appbase …
Run Code Online (Sandbox Code Playgroud)

azure autofac asp.net-web-api

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

如何使NSMenu具有动态操作

我想创建一个NSMenu,其选项类似于您在Windows资源管理器中找到的"发送到"选项,它将列出您可以将文件发送到的附加设备.

从我的研究看来,似乎不可能定义一个向函数发送参数的选择器,所以它不是一个例子@selector(@"sendToVolume:1").那么,如果项目数量未知,我还可以根据点击的项目执行不同的任务?

cocoa nsmenu

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

如何在使用WiX构建的MSI中包含卫星装配(本地化资源)?

我正在研究的项目是从使用VS2008部署/安装程序切换到WiX,这是我目前非常新的.我已经添加了将资源项目的输出复制到Resources.dll中的代码,但是在旧的VS2008安装程序文件系统中还有本地化资源输出,它当前产生两个foldes(en和es)和另一个dll(每种语言的Resources.resources.dll).我已经进行了一些搜索,但似乎无法找到将这些文件夹放入msi的方法,实际上知道这些文件夹存在并将它们直接放入.最好的方法是什么?

wix satellite-assembly

5
推荐指数
2
解决办法
2338
查看次数

为什么我从NSData读取字节时会得到不同的值,具体取决于我获取字节的顺序?

好吧,这更像是"到底是怎么回事?" 而不是一个实际问题.但鉴于我对C的相对缺乏经验,它可能会导致更大的问题.

基本上,我正在解析wav文件的标题并获取值.在我的头文件中,我定义了类变量:

short channels;
int sampleRate;
int bytesPerSecond;
short bytesPerSample;
short bitsPerSample;
unsigned int size;  
Run Code Online (Sandbox Code Playgroud)

并且类中用于获取这些值的函数如下:

NSData * fileData = [[NSData alloc] initWithContentsOfFile:filePath];
[fileData getBytes:&channels range:CHANNELS_R];
[fileData getBytes:&sampleRate range:SAMPLES_R];
[fileData getBytes:&bytesPerSecond range:BYTES_PER_SEC_R];
[fileData getBytes:&bytesPerSample range:BYTES_PER_SAMPLE_R];
[fileData getBytes:&bitsPerSample range:BITS_PER_SAMPLE_R];
[fileData getBytes:&size range:LENGTH_R];
Run Code Online (Sandbox Code Playgroud)

范围先前定义:

const NSRange CHANNELS_R = {22,23};
const NSRange SAMPLES_R = {24,27};
const NSRange BYTES_PER_SEC_R = {28,31};
const NSRange BYTES_PER_SAMPLE_R = {32,33};
const NSRange BITS_PER_SAMPLE_R = {34,35};
const NSRange LENGTH_R = {40,43};
Run Code Online (Sandbox Code Playgroud)

这工作正常,我得到所有的值,但是,如果我按顺序移动其中一行,或者在标题中的一个变量定义,它们会得到一个完全不同的值.例如,我正在进行的测试wav的采样率为8000.使用上面的代码我得到了正确的值.但是如果我移动指定它的值超过通道线的值,我得到524288000.太棒了.基本上,如果给出变量的顺序,它们的值与它们的定义顺序不对应,那就会混淆它.范围似乎对此行为没有任何影响.

任何人都知道这里发生了什么?

cocoa objective-c nsdata

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