15

私は、Visual Studio を使用する開発者が、.NET に代わるカスタム フレームワーク (既存のフレームワークのサブセットまたはプロファイルではないWindows Phone および Silverlight フレームワークに類似) に対してプログラムを作成できるようにしたいと考えています。 .

Visual Studio 2010 はマルチターゲットをサポートしており、適切なターゲット パックがインストールされている場合は、任意のフレームワーク (.NET、Silverlight、Robotics、XNA、Windows Phone、Mono など) をターゲットにできます。

フレームワークには通常、サブフォルダー内のファイル%programfiles%\Reference Assemblies\Microsoft\Frameworkと一緒に配置されるいくつかの参照アセンブリがあることがわかりました。FrameworkList.xml ファイルを含む RedistList サブフォルダーと共に、アセンブリ (例: ) をそこに配置して、新しいフォルダーを作成しようとしました。ファイルをクリアしましたが、次のようなエントリが 1 つあります。FrameworkList.xmlRedistListMyFramework.dll

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<FileList Redist="MyFramework_1_0">
  <File AssemblyName="MyFramework" Version="1.0.0.0"
    PublicKeyToken="be3ea0d08db41157" Culture="neutral"
    ProcessorArchitecture="MSIL" InGAC="false" />
</FileList>

しかし、Visual Studio は、(VS の再起動後) 新しいプロジェクトを作成するときに、使用可能なフレームワークのリストに私のフレームワークをリストしません。明らかに、私は何かが欠けていますが、何を理解することができませんでした。

Visual Studio がカスタム フレームワークまたは同じ効果を持つ何かを認識できるようなターゲット パックを作成する方法は? 通常、ターゲティング パックには何が含まれていますか? カスタム ビルド ステップを追加できますか?

4

2 に答える 2

1

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFrameworkVisual Studio は最初にレジストリ、特に次のキー(または 64 ビット システムでは HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft.NETFramework) を検索すると思います。

program files\referenced assemblies興味深いサブキーがたくさんあり、そのうちのいくつかは実際にフォルダーを指しています。

于 2011-11-28T11:56:33.870 に答える
0

あなたは軌道に乗っています。問題は、[新しいプロジェクト] ダイアログに、.NET Framework ベースのフレームワークしか一覧表示されないという既知の制限があることです。

Windows Phone、Silverlight、Portable はすべて、テンプレート側でこれを実装しています。基本的に、TargetFrameworkIdentifier MSBuild プロパティを事前設定するテンプレートがあります。たとえば、MyCustomFramework の場合、MyCustomFramework は Microsoft\Framework フォルダーにあるフレームワークの名前です。

于 2012-09-27T01:35:28.597 に答える