Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在命令行对.vdproj运行devenv不会';不产生微星_C#_Visual Studio_C# 3.0_Vdproj - Fatal编程技术网

C# 在命令行对.vdproj运行devenv不会';不产生微星

C# 在命令行对.vdproj运行devenv不会';不产生微星,c#,visual-studio,c#-3.0,vdproj,C#,Visual Studio,C# 3.0,Vdproj,我想在命令提示符下使用devenv命令从.vdproj文件生成MSI文件。此命令运行良好,但未生成MSI文件。怎么了 我应该在环境变量中设置什么,或者是否有其他方法从.vdproj文件生成MSI?我不认为MSI将从devenv.com生成,您可以选择wix with nant来创建安装程序 Nant有一个任务msi任务,但它需要micrsoft cabinet sdk,该sdk不可下载 阅读本文了解更多细节 p、 如果你找到了另一种构建安装程序的方法,请分享。这通常是(根据我的经验!)由于没有针

我想在命令提示符下使用
devenv
命令从
.vdproj
文件生成MSI文件。此命令运行良好,但未生成MSI文件。怎么了


我应该在环境变量中设置什么,或者是否有其他方法从
.vdproj
文件生成MSI?

我不认为MSI将从devenv.com生成,您可以选择wix with nant来创建安装程序

Nant有一个任务msi任务,但它需要micrsoft cabinet sdk,该sdk不可下载

阅读本文了解更多细节

p、 如果你找到了另一种构建安装程序的方法,请分享。

这通常是(根据我的经验!)由于没有针对正确的构建配置而导致的。在Visual Studio中,在解决方案级别,您可以转到
Build
菜单并选择
Configuration Manager
。确保对于所有适用的配置(通过
活动解决方案配置
下拉列表选择),安装程序项目在
构建
列中有一个勾号

现在,您需要确保在调用devenv时,您正在传递适当的生成配置(即,为安装项目勾选了
build
的配置),如下所示:

C:\PathToVisualStudio\devenv.exe /Rebuild Release C:\PathToProject\ProjectName.sln" /Out "PathToProject\vs_errors.txt"
(在本例中,
Release
是我的目标构建配置)


此命令还将Visual Studio的输出记录到一个名为
vs_errors.txt
的文本文件中,该文件与您的解决方案位于同一文件夹中,因此您可以查看该文件,以确定是否有任何其他原因导致安装项目无法生成。

以上脚本对我有效,请尝试,并告知我它是否对您有效。您几乎可以拥有任何配置。我使用了
Release | x86
。只要用您的配置替换该行,它就会工作。确保您使用的任何配置都存在于
.sln
文件或
.csproj
文件中,否则您可能会收到有关无效配置的错误信息。希望这有帮助

<target name="BuildMsi">
    <echo message="Creating installables (.msi) for MyTestApplication, please wait..."/>    
    <exec program="c:\program files\Microsoft Visual Studio 9.0\Common7\IDE\devenv.exe">
        <arg value="c:\My app\My_Test_solution.sln"/>
        <arg value="/build"/>
        <arg value="Release|x86" />
        <arg value="/project"/>
        <arg value="c:\My app\setup\My_Test_solution.vdproj"/>
    </exec>
</target>

我的案例与此相同,并使用/project help.msi文件生成提供项目名称

devenv /build Release /project SDK-Deployment SDK-Deployment.vdproj

是否应将该文件的结尾读取为
/project SDK Deployment\SDK Deployment.vdproj