我有一些.net/C#項目,我正在使用MSBuild構建。MSBuild:將項目引用更改爲文件二進制引用
在我正在構建的項目中,有一些項目引用了其他C#項目。
我只建立單個項目,所以我想在構建過程中重新指定文件夾中的實際二進制文件的項目引用。
我已經將「BuildProjectReferences」設置爲False,用於我的MSBuild步驟。
所以基本上我想讓MSBuild忽略項目引用並在新目錄中查找這些二進制文件。
這可能嗎?這可能不需要在構建之前動態修改項目文件?
**更新1 **
更多信息可以幫助...我實際上建立通過Ant/AntDotNet /的MSBuild和上傳每個二進制artifactory的。我基本上使用Ivy的依賴管理和.Net二進制文件。
現在我的上傳和下載的依賴關係工作正常。
我唯一缺少的部分是讓MSBuild尋找二進制文件作爲文件依賴項而不是它在項目文件中的項目引用。
**更新2 **
它看起來像MSBuild的支持編輯使用XMLPoke和XMLPeek的的csproj文件。
所以在我的情況下,我需要改變我的項目文件中的以下內容:
<ProjectReference Include="..\MyReferencedProject\MyReferencedProject.csproj">
<Project>{MyReferencedProjectGUID}</Project>
<Name>MyReferencedProject</Name>
<Private>False</Private>
</ProjectReference>
這個
<Reference Include="MyReferencedProject">
</Reference>
誰能給我任何指針?
好吧,看起來我需要爲此提供某種XPath語句。在XPath/XSLT領域的任何幫助將不勝感激。 – DonBecker
我不認爲你可以通過XPath/XSLT來完成。您需要從引用的項目中獲取OutputPath和AssemblyName屬性並將其應用於二進制引用 – Ludwo
我們的命名是標準化的,因此我不需要該文件的任何屬性。文件引用將始終與項目名稱完全匹配。 – DonBecker