我在部署應用程序時出現問題,該應用程序依賴於構建應用程序時複製到輸出目錄的四個DLL文件。一次性發布嚮導僅生成* .dll.deploy文件,而不是四個。Visual Studio無法在點擊一次發佈期間包含DLL
我有一個類似的問題,在Visual Studio下運行該應用程序,它無法解釋地處理第四個DLL不同於其他三個(它沒有複製到它的輸出目錄,因爲它做了其他三個)。我通過將顯式副本設置爲生成後事件來解決該問題。
是否有一些方法可以爲點擊一次發佈設置構建事件?
什麼可以導致Visual Studio以不同的方式處理這一個DLL?所有四個DLL對於複製到輸出目錄屬性具有相同的設置。
這裏是.sln文件加兩個相關的.csproj文件。 ExcelAddIn項目包含對其他兩個項目的引用。其中之一是Overview項目,其中包含一個具有四個DLL文件的文件夾Libs,所有這些文件都被複制到輸出目錄。 ExcelAddIn.csproj具有生成後事件,它將Libs文件夾的內容複製到輸出目錄。此後生成事件完成需要在Visual Studio下運行該解決方案。但是,當我發佈ExcelAddIn項目時,第四個DLL不會出現在已發佈的ApplicationFiles中(其他三個)。
摘錄.sln文件
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ExcelAddIn", "ExcelAddIn\ExcelAddIn.csproj", ... ... Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Core Components", "Core Components\Core Components.csproj", ... ... Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Overview", "Overview\Overview.csproj", ...
摘錄ExcelAddIn.csproj
<PropertyGroup> ... <PostBuildEvent>copy "Libs\*" .</PostBuildEvent> <PropertyGroup> ... <ItemGroup> <ProjectReference Include="..\Core Components\Core Components.csproj"> ... <ProjectReference Include="..\Overview\Overview.csproj"> ... </ItemGroup>
摘錄Overview.csproj
<ItemGroup> <Content Include="Libs\Antlr3.Runtime.dll"> <CopyToOutputDirectory>Always</CopyToOutputDirectory> </Content> <Content Include="Libs\Graphviz4Net.dll"> <CopyToOutputDirectory>Always</CopyToOutputDirectory> </Content> <Content Include="Libs\Graphviz4Net.WPF.dll"> <CopyToOutputDirectory>Always</CopyToOutputDirectory> </Content> <Content Include="Libs\WPFExtensions.dll"> <CopyToOutputDirectory>Always</CopyToOutputDirectory> </Content> <ItemGroup>
我已經將.sln和.csproj文件的信息發佈到我的原始問題中。 – user1591228 2012-08-12 15:30:15