26

わかりました、これはプログラミング エラーというよりもビルド エラーです。ビルドで手を汚す理由はあまりなかったので、このエラーは私を困惑させています。

このエラーをグーグルで調べてみましたが、ほとんど結果が得られませんでした。応答は存在しないか、理解できないか、適用できません。

エラーは次のとおりです。

The "exists" function only accepts a scalar value, but its argument 
"$(PackageSourceManifest)" evaluates to "[same path];[same path]" which is not a 
scalar value. C:\Program Files(x86)\MSBuild\Microsoft\VisualStudio\
                                   v10.0\Web\Microsoft.Web.Publishing.targets

とにかく、私は Microsoft.Web.Publishing.targets を掘り下げて、エラーが発生している行を見つけました。私は、私が修正できる何かを見つけることができるかどうかを確認しようとしていた場所に詳細なビルドを持っています。

何もない。

パッケージソースマニフェストを変更する方法をグーグルで検索し、ビルドプロパティを調べ、ソースマニフェストまたはソースマニフェストと呼ばれるものを検索しましたが、何もありません。一生懸命探しているのかもしれませんし、何を探したらいいのかわからないだけかもしれません。

これを修正する方法と、これを引き起こした原因に関するアイデアはありますか?

4

7 に答える 7

29

.csproj ファイルを開き、重複するインポート タグを探します

私の場合、.csproj には次のような 2 行がありました。

<Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio
\v10.0\WebApplications\Microsoft.WebApplication.targets" />

それらの1つを削除すると、問題が修正されました。

于 2013-09-19T13:49:32.663 に答える
0

VS2013 でも同じエラーが発生しましたが、それはプロジェクトを再構築しようとしたときだけです。私の条件で問題を解決する方法の下で、それが他の人にも役立つことを願っています.

構成:

  • ソリューション内の別のプロジェクトに typescript ファイルがあります。
  • これらのプロジェクトは VS 2012 に移行されました。

原因: Microsoft.Web.Publishing.targets ファイルのエラーをクリックすると、プロジェクトがこれらのファイルの VS2012 バージョンを使用していることがわかりました。これは、VS2012 から VS2013 に部分的にのみ移行されたプロジェクトです。

解決策: typescript プロジェクトを開きます (最初にプロジェクトをアンロードします)。

      <PropertyGroup>
        <VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">12.0</VisualStudioVersion>
        <VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
      </PropertyGroup>
  • 行 VSToolsPath にコメントを付けます
  • ファイルを保存して閉じます
  • プロジェクトのリロード プロジェクトがアップグレードされたことを通知する Visual Studio からの移行画面を確認できます。

    プロジェクトを再構築し、今すぐ動作するはずです

于 2015-10-06T15:30:18.317 に答える
-1

私はちょうど同じ問題を抱えていて、.csproj ファイルをチェックしたところ、何も問題がなく、重複したインポートも見つかりませんでした。

30分間つまずいた後、.csprojファイルを開いてタグを再配置することで修正しました。

最初はすべてを一番上に移動しましたが、OutputPath が定義されていないというエラー メッセージが表示されたので、それらをすべて定義された場所のすぐ下に移動し、すべてが機能しました。以下を除くすべて:

ほとんどの場合、ファイルの下部から NuGet.targets を移動すると、実際に修正されました。わからないし、もっと時間を無駄にしたい。

これが誰かに役立つことを願っています。

于 2014-04-03T18:26:09.153 に答える