F# スクリプト ファイルのシグネチャ ファイルを作成しているときにエラーが発生しましたが、うまく解決できません。
複製するには、新しい F# クラス ライブラリを作成し、ファイル Test.fs を追加します。
namespace Signatures
open System
type Test (id : Guid, name : string) =
member this.Id = id
member this.Name = name
これでうまくビルドできます。次に、その上に新しい署名ファイル Test.fsi を作成します。
namespace Signatures
open System
type Test =
new : (Guid * String) -> Test
member Id : Guid
member Name : String
これはエラーでビルドされなくなりましたModule 'Signatures' requires a value 'new : (Guid * String) -> Test
(これは、コンストラクターの署名が 2 つのファイルで異なる場合に発生するエラーとは異なります)。署名ファイルでコンストラクターを定義することについて私が見つけることができる唯一の実際のドキュメントは、MSDNであり、パラメーターなしのコンストラクターを扱っています。
.fs ファイルの Test にカーソルを合わせると、コンストラクターの署名が .fsi ファイルの署名と一致します。また、コンストラクターを変更して、喜びのない暗黙的ではないようにしました。
私は VS2012 RC を使用しており、.Net 4 と 4.5 を試しました。