来自 Visual Studio 的 Azure 网站部署 - 如何只部署一个缺少的程序集?
Azure Website Deployment from Visual Studio - How to deploy just a single missing assembly?
我有一个使用 Visual Studio 和 .NET (C#) 构建的 Azure 网站。我注意到,无论出于何种原因,当 BS 构建应用程序时,程序集都没有放入 /Bin 文件夹中。所以我将文件复制到我的 Bin 文件夹中。但是,当我部署时,我手动复制到 /Bin 文件夹的文件没有包含在部署中。或者至少我认为不是。
有什么方法可以让我在发布时告诉 VS 包含这个文件吗?或者有什么方法可以告诉 VS 重新发布整个应用程序,而不仅仅是它检测到的文件已更改?
对于托管程序集,将引用的 CopyLocal
设置为 true 可修复它。
如果是非托管二进制文件,则可以采用以下方法:
在 .csproj
文件中查找 AfterBuild
,并包含一个命令以将二进制文件复制到 bin
目录。
<Message Text="Copy $(SolutionDir)Lib\binary.dll to $(OutDir)binary.dll" Importance="high"/>
<Copy SourceFiles="$(SolutionDir)Lib\binary.dll" DestinationFiles="$(OutDir)binary.dll" />
将二进制文件与其他文件一起包含在 .csproj
中。将 visible 设置为 false 将隐藏解决方案资源管理器中的文件。
<Content Include="Bin\binary.dll">
<Visible>false</Visible>
</Content>
我有一个使用 Visual Studio 和 .NET (C#) 构建的 Azure 网站。我注意到,无论出于何种原因,当 BS 构建应用程序时,程序集都没有放入 /Bin 文件夹中。所以我将文件复制到我的 Bin 文件夹中。但是,当我部署时,我手动复制到 /Bin 文件夹的文件没有包含在部署中。或者至少我认为不是。
有什么方法可以让我在发布时告诉 VS 包含这个文件吗?或者有什么方法可以告诉 VS 重新发布整个应用程序,而不仅仅是它检测到的文件已更改?
对于托管程序集,将引用的 CopyLocal
设置为 true 可修复它。
如果是非托管二进制文件,则可以采用以下方法:
在
.csproj
文件中查找AfterBuild
,并包含一个命令以将二进制文件复制到bin
目录。<Message Text="Copy $(SolutionDir)Lib\binary.dll to $(OutDir)binary.dll" Importance="high"/> <Copy SourceFiles="$(SolutionDir)Lib\binary.dll" DestinationFiles="$(OutDir)binary.dll" />
将二进制文件与其他文件一起包含在
.csproj
中。将 visible 设置为 false 将隐藏解决方案资源管理器中的文件。<Content Include="Bin\binary.dll"> <Visible>false</Visible> </Content>