問題タブ [csproj]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
869 参照

visual-studio-2010 - MS Build は、個別に指定せずにすべてのライブラリ プロジェクト コード ファイルを含めて、Visual Studio でうまく動作させることができますか?

クラス ライブラリ プロジェクトの通常の .csproj ファイルを使用して、すべてのコード ファイル (つまり、プロジェクト ツリー内のすべての .cs ファイル、含まれるサブフォルダー) を個別にリストせずに含めるように MS Build に指示する方法はありますか?

私が見つけることができる最も近い解決策はUsing Wildcards to Specify Itemsです。

これは、Visual Studio がクラス ライブラリ プロジェクトでファイルごとに命令をビルドする方法の例です。

別の種類のプロジェクトである Web サイト プロジェクトは、ファイルの変更を検出してそれらのファイルを再コンパイルするメカニズムを使用します。関連するすべてのものをコンパイルするという概念は、私がクラス ライブラリ プロジェクトで目指しているものですが、変更を検出する必要はありません。

関連する Visual Studio の「問題」:
私の理想的なソリューションは、ビルド ファイルを一度に 1 ファイルずつビルドする Visual Studio によって守られていない可能性が高いことを認識しているため、ビルド ファイルを手動で編集することになります。私の理想的なソリューションで Visual Studio をうまく機能させる方法はありますか?

0 投票する
1 に答える
1590 参照

c# - 条件付きAssemblyNameを使用すると、「Debug」/「Release」以外の名前を使用すると、C#プロジェクトが常に再構築されます。

そのため、デバッグモードでビルドするときに、アセンブリ名に「d」拡張子を追加しています。C#でこれを行う標準的な方法は、.csprojファイルを編集して、次のように入力することです。

これには望ましい効果がありますが、darnプロジェクトは常に出力.dllを再構築し、それに依存する他のプロジェクトが再リンクするなどの原因になります。この変更がなければ、このような問題は発生しません。

これまでのところ、プロジェクト出力の冗長性を高めることは役に立ちませんでした。

編集:追加の重要な詳細は、構成に「V90リリース」、「V90デバッグ」、「V100リリース」などの名前を使用しているため、VisualStudioランタイムのさまざまなバージョンをターゲットにできることです。標準の構成名でテストアプリを作成しましたが、その場合は問題が発生しないことがわかりました。

0 投票する
1 に答える
2996 参照

python - Pythonを使用してVisualStudio .csprojファイルを解析する最良の方法

.csprojさらに変更するために、Pythonを使用してVisual Studioファイルを解析する最良の方法は何ですか?

それはいくつかの.csprojファイルです:

これを挿入したい:

<Reference/>ノードに。

0 投票する
2 に答える
1779 参照

visual-studio-2010 - msbuild include / サブディレクトリからルート ディレクトリへのコピー - 可能ですか?

サブディレクトリのファイルを含めて、元のサブディレクトリではなく、bulid のルート ディレクトリに配置することはできますか?

例: 異なるリリース構成用に複数の robots.txt ファイルがあります。ファイルは \IncludeTest\Development\robots.txt および \IncludeTest\Production\robots.txt としてソリューションにあります。

次のようなものを使用して、動的に適切に取得できます。

しかし、それを行うときは、\IncludeTest\Development\ (または \IncludeTest\Production) ディレクトリを維持します。robots.txt があるはずのルート ディレクトリに含める方法はありますか?

0 投票する
1 に答える
2503 参照

visual-studio-2010 - TFS2010 を使用して Visual Studio 2010 でプロジェクト ファイルを編集する

TFS2010 システムからチェックアウトしたソリューションがあり、.csproj ファイル自体をネイティブ テキスト形式で編集したいと考えています ([プロジェクト] -> [プロパティ] 経由ではありません)。TFS2010 を導入するまで、単純なテキスト エディターで .csproj ファイルを編集していました。TFS2010 のチェックイン/チェックアウト メカニズムに関するプロジェクト ファイルを編集するにはどうすればよいですか?

どうもありがとう、コンラッド

0 投票する
2 に答える
110 参照

msbuild - 複数の参照を1つのマークアップ要素にグループ化する

プロジェクトから参照する必要のある依存関係を持つサードパーティライブラリを使用しています。

したがって、各「csproj」ファイルには、常に同一の「参照」要素が多数含まれます。

この要素のセットを、すべてのcsprojファイルで使用できる1つの標準要素にグループ化する方法はありますか?

例:

「ABunchOfReferences」は、グローバルに定義され、すべてのcsprojsに含まれる一種のマクロであり、使用すると3つの「参照」要素として展開されます。

アイデアを事前に感謝します。

0 投票する
2 に答える
2781 参照

.net - csproj ファイルで使用される AppDesignerFolder は何ですか?

csproj ファイルで AppDesignerFolder 要素が何に使用されているかについて、私は困惑しています。

MSDNにはほとんどドキュメントがないようです。私が見つけた最も洞察に満ちた回答は、あまり満足のいくものではありません。

だから私の質問は、この属性が正確に何を制御しているのかということです...?

0 投票する
1 に答える
570 参照

msbuild - 別のmsbuildファイルにmsbuildファイルをインポートするときの作業ディレクトリの問題

既存のmsbuildファイル(Webアプリケーションの.csprojファイル)を拡張して、msbuildファイルにいくつかの追加のターゲット/タスクを指定しようとしています。この「拡張msビルドファイル」に構成固有のタスクを配置し、ビルドサーバー(TeamCity)でこのファイルを使用するという考え方です。私が最初にそれを解決しようとした方法は、フォルダ「msbuildscripts」をWebプロジェクトに追加し、そこに拡張msビルドファイルを配置することでした。

次に、次のようなものを使用してこのファイルを作成します。

元のmsビルドファイルをインポートすると、そのcsprojファイルは「間違った」フォルダー(msbuildscripts)で「実行」され、csproj-build-fileは参照されているフォルダー/アイテムを検出しないため、これは機能しません。

特定の作業ディレクトリを使用するようにmsbuild.exeに指示する方法はありますか?実行タスクを使用してこの問題を解決することは可能ですが、それは良い解決策とは思えません。

0 投票する
1 に答える
2278 参照

visual-studio - csproj ファイルをビルドする前に ProjectReference のインクルード パスを自動的に修正する

多数のプロジェクトを含む VS 2010 ソリューションがあります。プロジェクトは、ソリューション内の他のプロジェクトを参照します。次のようにcsprojファイルに間違ったプロジェクト参照パスがあることに気付きました:

Visual Studio は、ソリューションを開いたときにこれを修正します。

Project 要素の GUID を使用してソリューション内のプロジェクトを一意に識別し、パスを修正できると思います。

一方、MSBuild はこのパスを修正していないようで、ソリューションのビルドは失敗します。

ソリューションが正しくビルドされるように、MSBuild でパスを修正する方法や、他のツールやコマンドを使用してビルド前の手順として実行する方法はありますか?

ありがとう!

0 投票する
1 に答える
179 参照

.net - VS2008のcsprojからC++LINKを呼び出す

単一の.cppファイル(ネイティブコードとマネージコードの両方を含む)をより大きなC#プロジェクトに結合することに興味があります。数行のコードでDLL全体を「無駄にする」のはばかげているように見えるため、またコードにはセキュリティ機能があり、難読化したいため、CPPコードに個別のDLLを使用したくありません。より大きなアセンブリ内にそれを隠すことによってビット。(そして、誰かがそれを提案する前に、ILmergeまたはALはネイティブコードでは機能しないため、使用できません。)

.cppおよび.csファイルのグループをコンパイルする基本的なプロセスは数回カバーされています。主要な候補者の提案は次のようです。

ただし、これらの両方(および私が見つけたすべての関連リンク)は、コマンドラインでの構築のみを扱います。

既存の.csprojファイルを変更してC++コードでコンパイルおよびリンクすることをお勧めします(C ++ビルド自体が別の.vcprojにあることは問題ありませんが、そうでない場合は良いですが、リンクは.csprojにある必要があります)、そしてすべてをVS2008内からビルド可能にして、プロジェクトのユーザーが違いを知る必要がないようにします。

残念ながら、VSによってコンパイルされている.csproj内からlink.exeを正常に呼び出すことができないようです。「link」を含む「Exec」要素は、PATHにないため、実行可能ファイルを見つけることができません。場所を明示的に指定すると( "$(DevEnvDir).... \ VC \ bin \ link")、実行が開始されますが、必要なライブラリを読み込めないことを示すエラーコードですぐに失敗します(おそらく、 PATHにはありません)。

Visual Studio内からcsprojからLINKへの呼び出しが成功した例はありますか?


編集:わかりました、私は今その問題を回避することができました、そしてすべてがコンパイルされ、リンクされ、そして正常に実行されています-リリースモードで。デバッグモードでも正常に実行されているように見えますが、何らかの理由で、そのSxSマニフェスト(LINK生成されますが、を介して手動で適用する必要がmtありました)は、DebugCRTではなくリリースCRTのみを参照します。それを修正する方法はありますか?