我的解决方案包含2个项目。
第一个项目是C ++ Win32应用程序,第二个项目是一个C#库,它管理另外两个不是由我构建的C#库。这背后的想法是构建一个C#库来处理这些其他2个C#库。
现在,这两个C#库是为.NET 3.5构建的,我已经设置了为.NET 3.5构建的C#项目。
我创建了一个C ++ Wrapper,它运行得很好。尝试创建我的C#库从其他2个库中的一个库中获取的类的对象时,会出现问题。
Mixed mode assembly is built against version 'v2.0.50727' of the runtime and cannot be loaded in the 4.0 runtime without additional configuration information.
现在,我一直在查看已发布此问题的十几个帖子。他们都没有解决我的问题。我为我的可执行文件(我的C ++项目)以及我的C#库尝试了几个不同的配置文件。
我试过了
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
<supportedRuntime version="v2.0.50727"></supportedRuntime>
</startup>
和其他几个一样。
答案 0 :(得分:0)
在您的项目中,您似乎有一些v2.0.50727 dll。试试这个:
编辑您的App.config文件并添加:
'use strict';
var React = require('react-native');
var {
AppRegistry,
StyleSheet,
Text,
View,
TouchableOpacity,
} = React;
var TestIt = React.createClass({
measureWelcome() {
this.refs.welcome.measure(this.logWelcomeLayout);
},
logWelcomeLayout(ox, oy, width, height, px, py) {
console.log("ox: " + ox);
console.log("oy: " + oy);
console.log("width: " + width);
console.log("height: " + height);
console.log("px: " + px);
console.log("py: " + py);
},
render() {
return (
<View style={styles.container}>
<Text style={styles.welcome} ref="welcome">
Welcome to React Native!
</Text>
<TouchableOpacity onPress={this.measureWelcome}>
<Text>Measure it</Text>
</TouchableOpacity>
</View>
);
}
});
var styles = StyleSheet.create({
container: {
flex: 1,
justifyContent: 'center',
alignItems: 'center',
backgroundColor: '#F5FCFF',
},
welcome: {
fontSize: 20,
textAlign: 'center',
margin: 10,
},
instructions: {
textAlign: 'center',
color: '#333333',
marginBottom: 5,
},
});
AppRegistry.registerComponent('TestIt', () => TestIt);