問題タブ [project-reference]
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.
visual-studio-2010 - デバッグ後に削除されたプロジェクト参照
最近、VS2010 (10.0.40219.1 SP1Rel) と ILOG Rules For .net 7.1.1.4 (x64) にアップグレードしました。現在、次のことが発生する可能性があります。
- ソリューションを開きます。
- プロジェクトをデバッグする
- デバッグを停止します。
- ファイルを閉じます (これまでのところ: app.Config と Program.cs)
- 「リファクタリング ルール」通知ウィンドウが表示されるのを確認します。
- すべての rulep ファイルの最初のプロジェクト参照が削除されると、恐怖に喘ぎます。
これは、大規模なソリューション (~15 の rulep を持つ ~60 の csproj) で発生します。これは、小規模なソリューション (1 つのルールで 6 つの csproj) で発生します。
参照のドロップを回避するために極端な開発手段を取り始めました (デバッグ時にすべてのルールをアンロードし、デバッグ後に VS2010 を閉じて再度開く)。
プロジェクト参照のドロップを停止するために変更できるプロジェクトまたはソフトウェア設定はありますか?
更新: デバッガーを使用することは、「リファクタリング ルール/参照の削除」の問題を発生させる信頼できる方法ですが、デバッガーを使用せずにファイルを閉じるだけで発生することもあります。
私は最初の報奨金を授与しました。誰かが受け入れることができる答えを思いついた場合は、2 つ目の報奨金を用意します。
回避策: 3 つのソリューション ファイルがあります。
- ビルド サーバー用のすべてを含むソリューション ファイル。
- rulep とその依存関係のみを含むソリューション ファイル。開発者はこれを一度ビルドして、rulep の .dll を取得します。
- rulep プロジェクトを含まないソリューション ファイル。rulep の dll を必要とするプロジェクトには、dll をフォルダーにコピーするビルド前イベントと、その場所へのアセンブリ参照があります。デバッグ ビルドとリリース ビルドの両方を許可するには、少し手を加える必要がありました。
開発者は、VS がマングルする rulep ファイルがない 3 番目のソリューションを安全にデバッグできます。
c# - アセンブリを.Net3.5から.Net4.0に移行するにはどうすればよいですか?
githubからプロジェクトをダウンロードします: https ://github.com/HEskandari/FarsiLibrary/zipball/master
Visual Studio 2010でこれを開きます。このソリューションには、「FarsiLibrary.WPF.VisualStudio.Design」という名前のプロジェクトが含まれています。このプロジェクトには、.Net 3.5のアセンブリへの参照が含まれており、 VisualStudioはMicrosoft.Windows.Design。*アセンブリを認識しません。アセンブリは.Net3.5に存在します。
したがって、ターゲットフレームワークを3.5に変更すると、残念ながらこの変更は反映されず、ターゲットフレームワークは自動的に.Net4に再設定されます。
問題なくビルドするための処理方法を知りたいですか?
感謝。
visual-studio-2010 - Visual Studio でテンプレートをエクスポートするときに、Same Solution Project 参照を追加するにはどうすればよいですか?
私はいくつかのプロジェクトを含むソリューションを持っています。それらを ProjectA と ProjectB と呼びましょう。ProjectA に ProjectB への参照が必要ですが、「テンプレートをエクスポート」すると、参照を保持できないようです。私がやろうとしているのは、新しいプロジェクトを作成するときに参照を作成し、入力した名前に自動的に名前を付けることです。
c# - あるプロジェクトから別のプロジェクトのクラスを呼び出す方法は?
信じられないほどばかげた質問で申し訳ありませんが、C# は初めてです。あるプロジェクトのクラスを別のプロジェクトで使用する方法がわかりません。
Project1 から Project2 に文字列を取得し、Project2 にその文字列を出力させたいとしましょう。
「参照の追加」メニューで Project1 から Project2 を参照し、「Project2 を使用」を追加して、「Project2」の「ClassA」から「print」を試して呼び出すように記述します。
しかし、私が得るのはエラーメッセージだけです。
誰でも正確になぜ私がしなければならないのかを段階的に説明してもらえますか?
c# - EnvDTEを介してプログラムでC#にプロジェクト参照(アセンブリ参照ではなく)を追加する
Visual Studioで、ソリューションの既存のプロジェクトへの参照を.csprojファイルに追加すると、次のようになります。
EnvDTEを介してアセンブリDLLへの参照を追加する場合:
それはこのように終わります:
リリースビルドに切り替えてもデバッグアセンブリを参照するため、これはそれほど優れていません。もう1つの問題は、参照として追加する前に、参照されたアセンブリをビルドする必要があることです。Visual Studio UIを使用して、ビルドされていないプロジェクトへの参照を追加できます。
EnvDTE APIを介してプロジェクト参照を追加することは可能ですか?
.csprojファイルをXMLドキュメントとして操作し、やりたいことが何でもできることはわかっていますが、EnvDTEのパスから始めたので、それを使い続けたいと思います。
c++ - VS 2010で依存関係の依存関係を自動的にリンクするにはどうすればよいですか?
多くのプロジェクトファイルとソリューションファイルを含むVisualStudio2010を使用しています。しかし今、私はProjectReferencesで少し依存関係地獄にいることに気づきました。
- プロジェクト
Simple
は静的ライブラリを生成します。 Foo
に依存Bar
しSimple
、静的ライブラリを生成します。- プロジェクトはDLL
Module
に依存しFoo
、DLLを生成します。 - プロジェクトはDLL
Module2
に依存しBar
、DLLを生成します。
したがって、依存関係ツリーは次のようになります。
を使用すると、依存して自動的にリンクProjectReferences
することができます。これは正常に機能します。Module
Foo
Foo.lib
しかしModule
、自動的にリンクする方法はありSimple.lib
ますか?
それは可能だと思われます。 Module
に依存しますFoo
。これはに依存しますSimple
。したがって、「私の参照と私の参照の参照の出力にリンクする」オプションがあるはずです。しかし、それを可能にするものは何も見つかりません。
「リンクライブラリの依存関係」オプションはそれを行いません。Foo.libでのみリンクし、未解決の外部シンボル(Simple.libで定義されているシンボル)に関するリンクエラーが発生します。
->および->参照true
に対して「リンクライブラリの依存関係」をに設定すると、との両方を使用するプロジェクトができるまで、最初は機能するようです。その設定は実際にはとの中に埋め込まれ、との両方を使用しようとすると「シンボルはすでに定義されています」というエラーが発生します。そして、それは正しいエラーです-私は実際には他のライブラリの中に入れたくありません。Foo
Simple
Bar
Simple
Foo
Bar
Simple.lib
Foo.lib
Bar.lib
Foo.lib
Bar.lib
Simple.lib
ProjectReferece
fromModule
をtoに追加することはできますがSimple
、を使用するすべてのプロジェクトに設定するのは面倒でFoo
あり、のカプセル化に違反していますFoo
。 Module
について知る必要はありませんSimple
。明らかに、リンカはについて知る必要がありますがSimple
、ProjectReferencesに従うことでそれを理解できるはずです。
これが重要な理由は次のとおりです。メンテナンス中に Basic
、静的libを作成し、にSimple
依存する新しいプロジェクトが作成されたとしBasic
ます。ProjectReference
ここで、をSimple
直接または別のProjectReferenceを介して持つすべてのプロジェクトを更新する必要があります(この例ではModule
、 2つのプロジェクトのみModule2
ですが、実際には数十です)。それは退屈です。
tl; dr依存関係の静的ライブラリに自動的にリンクする方法はありますか?
upgrade - Visual Studio 2010 から 2012 にアップグレードしました。SqlClr プロジェクトへのプロジェクト参照は、プロジェクトの dll を探していますが、ファイル拡張子はありません。
MySqlClrProject.dll ファイルをビルドする MySqlClrProject という名前の SqlClr プロジェクトがあるとします。ビルド出力ファイル名は MySqlClrProject または MySqlClrProject.dll のいずれかですが、どちらの方法でも MySqlClrProject.dll という名前のファイルが生成されることがわかりました。私のソリューションには、MySqlClrProject へのプロジェクト参照を持つ MyClassLibrary という別のプロジェクトもあります。MyClassLibrary をビルドすると、次のエラーが表示されます。
CS0006: メタデータ ファイル 'C:\devStuff\MySqlClrProject\bin\Debug\MySqlClrProject' が見つかりませんでした
その前に、出力に次のように表示されます。
ResolveAssemblyReferences: 5> プライマリ リファレンス "MySqlClrProject"。
5> 依存ファイルが見つかりませんでした。予期されるファイル「C:\devStuff\MySqlClrProject\bin\Debug\MySqlClrProject」は存在しません。
5> 依存ファイルが見つかりませんでした。予期されるファイル「C:\devStuff\MySqlClrProject\bin\Debug\MySqlClrProject」は存在しません。
5> 解決されたファイル パスは「C:\devStuff\MySqlClrProject\bin\Debug\MySqlClrProject」です。
5> 検索パスの場所 "" で参照が見つかりました。
5> 関連ファイル「C:\devStuff\MySqlClrProject\bin\Debug\MySqlClrProject.pdb」が見つかりました。
5> 関連ファイル「C:\devStuff\MySqlClrProject\bin\Debug\MySqlClrProject.xml」が見つかりました。
5> このリファレンスの ImageRuntimeVersion は "" です。
MySqlClrProject.dll を MySqlClrProject にコピーするビルド後のステップを追加すると、すべて問題ありません。または、プロジェクト参照を使用するのではなく、dll を直接参照すると、正常に動作します。どちらのルートも行かない方がいいと思います...
とにかく、他の誰かがこれを見たことがありますか?私が間違っているかもしれませんか?VS2012 が非常に新しく、SqlClr プロジェクトに関しては大幅に変更されていることは知っていますが、問題が自分の側にあるのか、Microsoft の側にあるのか疑問に思っています。
ありがとう。
c# - プロジェクトを参照フォルダにドラッグアンドドロップします
(Visual Studio 2012)
他のプロジェクト参照フォルダー内にソリューションアイテム(プロジェクト)をドラッグするだけでソリューション参照を作成する方法はありますか?このような?
ある種のプラグインまたはアドインか何か?
c# - 奇妙な:C#タイプまたは名前空間名が見つかりませんでした-正常にビルドされます
プロジェクトをVS2012IDEで開いているときに、プロジェクトに奇妙なエラーが表示されます。私が別の参照されたプロジェクトを利用するところはどこでも、突然それは言い"Type or Namespace name could not be found"
ます。また、「言う」とは、テキストにカーソルを合わせると、テキストに赤で下線が引かれ、エラーが発生することを意味します。インテリセンスはそのコードでは機能しません。しかし(そしてここに奇妙な部分があります)、エラーはエラーコンソールに表示されず、プロジェクトは正常にビルドおよび実行されます。
コードをデバッグしてステップスルーすることもでき、完全に正常に機能します。したがって、実行時にはプロジェクトは正常に参照されますが、設計時にはIDEはプロジェクトを見つけることができません。これは過去2週間は機能しましたが、その後突然少しおかしくなりました。私はインテリセンスなしでコーディングするのが苦手なので、それは本当に迷惑です!
誰かがこのようなものを見たことがありますか、または何か提案がありますか?