Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/318.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.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# Web部署项目是否与x86构建配置配合使用_C#_Visual Studio 2008_.net 3.5_Msbuild_Web Deployment Project - Fatal编程技术网

C# Web部署项目是否与x86构建配置配合使用

C# Web部署项目是否与x86构建配置配合使用,c#,visual-studio-2008,.net-3.5,msbuild,web-deployment-project,C#,Visual Studio 2008,.net 3.5,Msbuild,Web Deployment Project,我需要建立一个网站和它在x86配置中引用的几个DLL。到目前为止,我们一直在使用Web部署项目来创建结果站点的Zip文件及其所有必需的文件。我们需要继续使用WDP,但是,它们似乎在x86构建配置方面存在问题 在我的项目中,当我在Release/x86中构建解决方案时,我得到了以下错误 Description File Line Column Project

我需要建立一个网站和它在x86配置中引用的几个DLL。到目前为止,我们一直在使用Web部署项目来创建结果站点的Zip文件及其所有必需的文件。我们需要继续使用WDP,但是,它们似乎在x86构建配置方面存在问题

在我的项目中,当我在Release/x86中构建解决方案时,我得到了以下错误

           Description                              File                           Line   Column   Project
Error  80  Could not load type 'WwwRooot.Default'.  /WwwRooot.csproj/Default.aspx  1      1        WwwRooot.csproj_deploy
web应用程序或任何引用的类库都没有生成错误或警告

我想这可能是我正在从事的项目的特定内容,为了证明我自己错了,我创建了一个包含Web应用程序(c#)的解决方案。然后,我使用Configuration Manager通过复制任意CPU配置来创建x86配置。我检查了属性页面,确保新的配置设置为build为x86,并且是。我构建的解决方案没有错误

接下来,我右键单击Web应用程序,并从上下文菜单中添加了一个WDP。 右键单击WDP并编辑项目文件。此时,我将AnyCPU的所有引用更改为x86,以便WDP具有x86构建的条件。 我在Release/x86中重建了解决方案,一切都很好

接下来,我添加一个类库,使用Configuration Manager为此库创建一个x86配置,为库添加对web应用程序的引用,然后在Release/x86中重新生成all,我收到与上面详细说明相同的错误

WDP是否与x86版本兼容

如果我删除类库(和引用),那么解决方案(包括WDP)就可以正常构建


我使用的是64位Windows 7 Pro上安装了相应WDP的Visual Studio 2008 SP1。

现成的Web部署项目(WDP)不适用于x86或x64生成配置。这是因为在这些配置之一下构建的Web应用程序将结果程序集输出到不同的位置,而WDP不知道在那里查找DLL

要使WDP与x86配置一起工作,您需要做一些事情

首先,您的WDP可能没有x86配置,您需要创建一个。使用Visual Studio中的XML编辑器(或任何文本编辑器)编辑部署项目,在文件顶部附近会看到一个
标记(通常是第二个),带有条件
Debug | AnyCPU
,如下所示:

  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
    <DebugSymbols>true</DebugSymbols>
    <OutputPath>.\Debug</OutputPath>
    <EnableUpdateable>true</EnableUpdateable>
    <UseMerge>true</UseMerge>
  </PropertyGroup>
现在保存文件并打开configuration manager(构建菜单>配置管理器),然后检查部署项目是否具有x86配置

现在,使用文本编辑器编辑Web应用程序项目文件,并在
Debug | x86
配置中找到
outputPath
元素。它的值应为
Bin\x86\Debug
。这需要更改为
Bin

 <!-- Before -->
 <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
    <OutputPath>Bin\x86\Debug\</OutputPath>

 <!-- After -->
 <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
    <OutputPath>Bin\</OutputPath>

Bin\x86\Debug\
垃圾箱\
保存、关闭并重新加载Web应用程序项目。我们现在已经指示Web应用程序将其DLL放在WDP希望找到它们的位置

将生成配置设置为
x86
,然后生成项目

冲洗并重复,以便发布和任何其他构建配置。

试试这个

将此命令放在web项目的编译后事件中

xcopy "$(TargetDir)*.*" "$(TargetDir)..\..\" /Y
此命令将文件从bin\x86\Debug复制到bin 它将与发布配置一起工作

xcopy "$(TargetDir)*.*" "$(TargetDir)..\..\" /Y