2011-11-28 41 views
1

我在monodevelop(Ubuntu 11.10中爲2.6)中創建了一個Tarball項目,用於從Windows移植到mono-land的C#解決方案。目前它被設置爲爲沒有設置開關的解決方案中的每個項目生成新的makefile。Tarball創建 - 在根解決方案目錄之外的引用文件

當我建立了壓縮包項目,我結束了這些錯誤了一把:

文件「」未找到。

...看起來像它們造成這些錯誤:

的解決方案「(胡說)」正在引用位於根目錄下的解決方案外的文件'。

我試過刪除.pidb文件,正如在related issue中推薦的那樣。但我的問題是更多或是包裝時間問題;構建解決方案工作得很好。有沒有人想出了(1)如何確定項目窒息的文件,以及(2)如何將這些文件包含在輸出中?

回答

2

我可以重現與MonoDevelop 2.8.6.3相同的問題。我試圖出口項目或創建一個壓縮包時,出現以下錯誤:

File '(...)/Microsoft.Net.Client.3.5' not found. 
File '(...)/Microsoft.Net.Framework.3.5.SP1' not found. 
File '(...)/Microsoft.Windows.Installer.3.1' not found. 
File '' not found. 
File '' not found. 
The project '(ProjectName)' is referencing the file '' which is located outside the project directory. 
The project '(ProjectName)' is referencing the file '' which is located outside the project directory. 

解決方案:你需要清理你的.CSPROJ文件,以使它們與MonoDevelop的兼容。

<SignAssembly>true</SignAssembly> 

不知怎的,我測試過的項目屬性窗口中的「標誌組件」複選框選項在Visual Studio,但沒」:

在我的情況,我被刪除以下條目擺脫File '' not found錯誤爲密鑰文件提供一個路徑。

我被刪除此的ItemGroup擺脫其他錯誤:

<ItemGroup> 
    <BootstrapperPackage Include="Microsoft.Net.Client.3.5"> 
    <Visible>False</Visible> 
    <ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName> 
    <Install>false</Install> 
    </BootstrapperPackage> 
    <BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1"> 
    <Visible>False</Visible> 
    <ProductName>.NET Framework 3.5 SP1</ProductName> 
    <Install>true</Install> 
    </BootstrapperPackage> 
    <BootstrapperPackage Include="Microsoft.Windows.Installer.3.1"> 
    <Visible>False</Visible> 
    <ProductName>Windows Installer 3.1</ProductName> 
    <Install>true</Install> 
    </BootstrapperPackage> 
</ItemGroup> 

希望幫助其他人!

+0

感謝您發佈此回覆!後來我從項目中移除了,但是前幾天我重新加載了它,以查看解決方案中是否有簽名的程序集(組成解決方案的一堆.csproj文件)。不幸的是,這不是空白文件「找不到」錯誤的原因。但我確實認爲你在做某些事情 - 可能有一些幻影程序集引用在Windows和Mono(?)下的裝飾方式不同。我會把你的建議傳給當前的項目所有者。 – eb1

相關問題