4

工作,我有必要建立一个网站,几个DLL文件,它在x86配置引用。迄今为止,我们一直使用Web部署项目来创建生成站点的Zip文件及其所需的所有文件。我们需要继续使用WDP,但他们似乎在x86构建配置方面存在问题。做web部署项目使用x86编译配置

在我的项目,当我建立发布/ 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通过复制Any CPU配置来创建x86配置。我检查了属性页面,确保新的配置被设置为构建到x86,并且是。我没有错误地构建解决方案。

接下来我右单击Web应用程序,然后从上下文菜单中增加了一个WDP。 右键单击WDP并编辑项目文件。此时我将AnyCPU的任何引用都更改为x86,以便WDP具有x86构建的条件。 我重修于发布/ x86平台解决方案,一切都建立精细。

接下来我添加一个类库,使用配置管理器为这个库创建一个x86配置,添加一个对该库的web应用的引用,然后在Release/x86中重建所有,并且我收到上面详述的同样的错误。

与x86版本兼容WDPS?

如果我删除类库(和参考)解决方案(包括WDP)建立良好。

我在64位Windows 7 Pro上使用安装了适当WDP的Visual Studio 2008 SP1。

回答

4

开箱即用的Web部署项目(WDP)不支持x86或x64构建配置。这是因为这些配置之一下建立了一个Web应用程序输出所得的组件在不同的地方和WDP不知道要寻找那里的DLL文件。

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

首先,您的WDP可能没有x86配置,您需要创建一个。使用Visual Studio中的XML编辑器(或任何文本编辑器),接近文件的顶部会看到一个<propertyGroup>标签(通常是第二个)符合条件Debug|AnyCPU像这样编辑部署项目:

<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> 
    <DebugSymbols>true</DebugSymbols> 
    <OutputPath>.\Debug</OutputPath> 
    <EnableUpdateable>true</EnableUpdateable> 
    <UseMerge>true</UseMerge> 
    </PropertyGroup> 

复制这整个标签和更改配置是Debug|x84

<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' "> 
    <DebugSymbols>true</DebugSymbols> 
    <OutputPath>.\Debug</OutputPath> 
    <EnableUpdateable>true</EnableUpdateable> 
    <UseMerge>true</UseMerge> 
    </PropertyGroup> 

现在保存文件并打开配置管理器(构建菜单>配置管理器),并检查您的部署项目现在有一个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> 

保存,关闭并重新启动您的Web应用程序项目。我们现在已经指示Web应用程序将它的DLL放在WDP希望找到它们的地方。

将您的构建配置设置为x86并构建项目。

冲洗和重复发布和任何其他生成配置,你可能有。

1

试试这个

在Web项目后编译事件从斌

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

此命令WIL复制文件将这个命令\ 86 \调试来斌 它将与发布配置工作

相关问题