xbuildおよびF#(vs2010)プロジェクト
-
27-10-2019 - |
質問
主にC#であるVS 2010混合言語ソリューションがありますが、F#で記述されたWindowsサービスが含まれています。並列環境でxbuildを使用してこの建物を作成しましたが、 badgerports <からmono2.10.5のパッケージバージョンにアップグレードしてから/ a>動作させることができませんでした。
/home/alex/git/Solution/FSProject/FSProject.fsproj:エラー:「ビルド」という名前のターゲットがプロジェクトに見つかりません。
私が困惑しているのは、プロジェクトファイルを見ると、ターゲットが定義されていないように見えることです。私はMSBuildの専門家からはほど遠いですが、これは私には少し奇妙に思えます。そうは言っても、以前は機能していました。
誰かが同様の問題に遭遇した(そしてうまくいけば解決策を見つけた)ことがありますか?可能であれば、xbuildとVisualStudioを使用してソリューションを構築できるようにしたいと思います。
環境はミント11(これがubuntu maverickまたはnattyに基づいているかどうかはわかりません)で、badgerportsからmono2.10.5を実行しています。 fsharpは、最新のソースからデフォルトのプレフィックスにインストールされました。
編集
ブライアンのポインターのおかげで少し近づくことができました(パスをハードコーディングする必要がありました。xbuildは "$(MSBuildExtensionsPath32).. \ FSharp \ 1.0 \ Microsoftのようなものを解決するのに問題があるようです。 FSharp.Targets ")。 FSCは実際に呼び出されていますが、FSharp.Coreへの参照を解決できないと不平を言っています。
このページを見つけました
F#とXBuild(Debian)< / a>ここまで到達するのに役立ちます。
解決
これを使用すれば、ハッカーはもう必要ありません:
- Mono3.0.0以降。(私の変更はここにマージされました。)
- githubのFSharpタグ3.0.26(またはそれ以降)(私の変更ここ。)にマージされました。
他のヒント
つまり、並列環境が実際に私にとって物事を容易にしていたことがわかりました。 Monoは/ usrにインストールされ、F#は/ usr / localにインストールされるため、FSharpターゲットとCommonターゲットが相互に認識できるようにシンボリックリンクを設定する必要がありました。詳細については、 F#およびXBuild(Debian)
そしてxbuildは相対パスの解決に問題がありました。だから私はそれをこれに変更しました: ジェネラコディセタグプレ