我有一個C#項目,命名爲「X」, 我修改了X.csproj文件,並改變以<OutputType>Library</OutputType>
<OutputType>Module</OutputType>
這意味着我現在輸出.netmodule文件,而不是.dll文件,這是很酷,我可以使用netmodules作爲C++/CLI項目的輸入。Visual Studio 2015 UP1總是重建我的C#netmodule輸出項目。它可以修復嗎?
但是,Visual Studio將堅持對每一個建設重新編譯項目, 當我打開生成的輸出內容的詳細程度,以「診斷」,我看這樣行輸出:
項目「X」是不是最新。缺少輸出文件 'C:... \ X \ bin \ Debug \ X.exe'。
這個問題當然是編譯器輸出X.netmodule而不是X.exe,所以X.exe永遠不會被找到,因此我的項目在每個版本上都會重新編譯。 更糟糕的是,如果我從csproj上的命令行運行msbuild,則會發生正確的行爲,即只在項目中的文件發生更改時纔會重新生成。
這導致我相信VS2015 [或其他人]錯誤地計算最終輸出名稱,因爲我已經指定模塊爲<OutputType>
,並且它是VS2015強制重新構建,而不是Msbuild。
我知道修改.csproj的<OutputType>
是非標準的,不支持,但似乎這種方法正在被其他人使用一些,這似乎是一個已知的問題,可能與工作-周圍。
在此先感謝。