我有一个F#库项目依赖于C#类库项目,两者都在同一个解决方案中。基本上在F#代码中,我做open MyLib
(其中MyLib是C#项目的名称),并访问C#项目中定义的一些代码。
我编译并且两个项目都没有错误或警告。如果我在两个项目上将目标从任意CPU更改为x64,那么C#项目仍然可以正常构建,但是F#项目无法构建,并显示错误消息,告知我无法找到模块MyLib。重建解决方案无济于事。删除所有bin og obj文件夹也没有帮助。如果我将平台目标更改回任何CPU或x86,则所有内容都会再次编译。
我在一个玩具解决方案中复制了这个,其中包含两个只包含普通代码的小项目,所以我知道它与我的特定代码无关。
其他人有过这种经历吗?任何已知的解决方法?
好吧 -h -更新:根据要求,这是我的确切复制步骤。
int GetAnswer() { return 42; }
将此代码添加到module Module1
行下面的Module1.fs:
打开MyLib
让answer = Class1.GetAnswer()
编译。一切都应该干净利落。
更新2:刚刚使用Visual Studio 2010 Beta 1测试它,行为是相同的。