我正在努力发布我的项目,因为缺少一些DLL。经过一些调查,我发现了我在寻找的东西:
这是我的代码:
<Target Name="CustomCollectFiles">
<Message Text="Publishing unreferenced DLLs" Importance="High" />
<ItemGroup>
<_CustomFiles Include="$(UnreferencedDlls)" />
<FilesForPackagingFromProject Include="%(_CustomFiles.Identity)">
<DestinationRelativePath>bin\%(RecursiveDir)%(Filename)%(Extension)</DestinationRelativePath>
</FilesForPackagingFromProject>
</ItemGroup>
</Target>
现在工作正常,但只有当我在本地发布时。当我尝试在Azure上发布时,缺少这些相同的DLL。所以我尝试添加以下行:
<DestinationRelativePath>obj\Release\Package\PackageTmp\bin\%(RecursiveDir)%(Filename)%(Extension)</DestinationRelativePath>
因为当我在azure上发布时,输出说:
将所有文件复制到下面的临时位置以进行包/发布:
OBJ \发布\包\ PackageTmp。
但是,当我在Azure上发布时,DLL仍然缺失,我不知道如何添加它们。
答案 0 :(得分:2)
我找到了解决方案。第一个在我在本地计算机上部署时添加DLL,第二个在我在Azure上部署应用程序时执行相同的操作。
<PropertyGroup>
<!-- Publish on the FILE SYSTEM -->
<CopyAllFilesToSingleFolderForPackageDependsOn>
CustomCollectFiles;
$(CopyAllFilesToSingleFolderForPackageDependsOn);
</CopyAllFilesToSingleFolderForPackageDependsOn>
<!-- Publish on AZURE: Web Deploy -->
<CopyAllFilesToSingleFolderForMSDeployDependsOn>
CustomCollectFiles;
$(CopyAllFilesToSingleFolderForMSDeployDependsOn);
</CopyAllFilesToSingleFolderForMSDeployDependsOn>
</PropertyGroup>