我的目標是引用來自dotnetcore類庫的共享項目。在dotnetcore classlib中引用共享項目,並在windows和linux上構建工作
爲了做到這一點,我打開了我在windows上使用.NET命令行工具(1.0.4)在Linux上製作的解決方案,因爲我讀到了vs2017支持的對shprojs的引用。所以我增加了一個參考使用VS並把它添加此行到.netcore庫的csproj文件:
<Import Project="..\Objects\LogoRecognitionShared.projitems" Label="Shared" />
在這一點上,我認爲一切都將正常工作。我建立在視覺工作室,並沒有問題。我認爲,因爲我的cli版本在windows和linux上是一樣的,所以項目將以相同的方式構建並支持相同的功能。
但是,當我在linux上嘗試這些更改時,收到了一堆「error CS0246: The type or namespace name 'TypeName' could not be found (are you missing a using directive or an assembly reference?)
」消息。
我也使用<Compile Include="..\Objects\*.cs"/>
語句並得到相同的錯誤。但是,如果我使用兩個然後我得到warning CS2002: Source file 'Objects/*.cs' specified multiple times
我不確定如何解決此問題。在我看來,構建過程知道它應該將這些文件構建到輸出中,但是當構建實際發生時,它會將它們留出並導致引用失效。
任何幫助將是太棒了。